Elasticsearch learning roadmap - elasticsearch

I have to set up Elasticsearch search engine in my job website enterprise. We've choosen this solution becasue it's scalable powerfull and personalizable. As a beginner of ES, I've only set up basic functionnalities such as simple research on a test website, but nothing to complex. My goal is to implement step by step more complicated functionnalities like synonyms, multilingual results, filters... And so on.
I would like to know if you had to implement something like this, and if you have any tips and tricks about bests practices. Also note that I've already red a lot about ElasticSearch but there's so many content that any "roadmap" or learning resources is welcome.
I'll be happy to read your advices and experiences with this amazing tool, best regards.

Related

prerequisites to learn GraphQL and best course to learn

are there any prerequisites to learn GraphQL and can someone suggest the best course to learn graphql?
From my point of view:
SQL knowledge must needed one. Other than this no special techniques are needed for learning GraphQL. Initial stage you must go through the official documentation for better understanding.
official documentation Link: https://graphql.org/learn/

Cassandra and advanced queries: Spark, ElasticSearch, Sorl

Ok, so, I'm developing an app and I'm using Cassandra as the database.
Everything going good so far, but now I need to do a query using the LIKE clause.
I know Cassandra doesn't support that, and that's why after looking for a workaround I was thinking in maintaining this single table that I need to query using the LIKE clause in another database, other than Cassandra - was even considering a relational database, even though there wouldn't exist any relations.
Then I started looking to see if this is really the right approach, and came into stuff like Spark, Sorl and ElasticSearch.
Just to make it clear: I have little to no knowledge about those frameworks. Really. I only have heard about them and that's all.
So, I'm not here to ask you guys 'hey, how to do that using this framework?'. I just want to know, before I dig into any of those: Would any of those satisfy my needs? - Since I have no idea exactly how they work, and what exactly they are for.
If it is the case, them I'll study the framework properly - I just don't want to spend the time to figure out it has nothing to do with my problem.
Thanks!
Both elasticsearch and solr fits your needs. They use lucene library to perform reverse indexing and much more -- Datastax enterprise (commercial distribution of Cassandra) offer this solution integrating solr natively. One more solution (little different but working) is to integrate infinispan which offers both integration with Cassandra repository and reverse indexing ...
HTH,
Carlo

Are there any tools or best practices for documenting an ElasticSearch db

I'm looking for documentation about documenting an ElasticSearch deployment (you can see why this is challenging to Google!).
My question is really two questions. Are there best practices for documenting an ElasticSearch installation? -and- Are there any tools that aid in the visualization of an ElasticSearch installation. I guess it would be akin to a sql db schema (ER diagram or whatever). I've scoured Google without much luck and I didn't find anything on SO.
Documenting ES may be a bit more challenging than documenting a sql db since you probably want to be able to show the relationship between end user queries and indexing to explain the context of each mapping. Furthermore, it would be useful to visualize the cluster (perhaps a separate problem that could be solved with existing tools).
Thanks for any help.

What is a good choice for Fulltext indexing when developing a OSX application?

Hy,
I'm implementing an IMAP client as a Mac OSX application using MacRuby.
For the sake of offline availability, I wanted to allow fulltext indexing and attribute based indexing of all messages. Attributes include common E-Mail stuff like from:, to:, etc...
This would allow for advanced results sprinkled with faceting, analytic calculations and such.
Now I'm unsure about the choices and good practices when it comes to integrating such a search feature. I have a strong web development background, therefore my intuitive action would be to setup a Solr server and start feeding it with data. This might just work theoretically, as I could write an Agent that manages the solr instance for my application in the background. But to me, this approach seems like an infrastructure hassle.
On the other side, I've read about people using the FTS3 functionality from SQLite. This approach is easily accessible by CoreData. I haven't used SQLite's FTS3 but I don't think it is as powerful as Solr can be.
What is your weapon of choice for a use case like mine?
I'm mainly interested in solutions that are actually in use by Objective-C/Cocoa/MacRuby developers.
In you're going to develop the app with Ruby give a try to picky. It is very simple to use.
There is an Objective-C Lucene port
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/LuceneKit/
I have not used it, but in your situation, I'd at least check it out. In my experience, SQL based full text search can't compete with Lucene, but haven't tried SQLite for this.
EDIT: just noticed the ruby tag -- this started out as port of Lucene
https://github.com/dbalmain/ferret

Getting started with Sinatra, CouchDB & CouchRest?

I'm just starting to learn my way around CouchDB and Sinatra, but am struggling to find some basic examples of integrating the two via CouchRest. The CouchRest docs assume a little too much to be useful to me yet.
Does anyone have links to useful examples/articles/docs?
Sinatra docs are pretty great and easy to work with.
The examples in the couchrest repo seem to show a lot of use cases. https://github.com/couchrest/couchrest_model
The best way to understand code (and especially bleeding edge ruby) is to just read the code.
Updated, with link to tutorial: http://japhr.blogspot.com/2009/03/spike-sinatra-and-couchdb.html
You should probably look into the couch_potato library too, it just hits the sweet spot between the basic approach of couch rest and active record. Source and examples: https://github.com/langalex/couch_potato

Resources