Search code examples
solropen-sourceelasticsearch

Which open source search engine to choose: sociability, lots of updates, facet search....?


I am doing a project that needs a search engine that supports these key requirements:

  1. salable: indexed rows will be in millions and keep growing.

  2. real-time updates: there will be constant record inserts and updates. Ideally, the newly inserted or modified records get searchable immediately. There will be deletes, but few.

  3. faceted search.

  4. relevant results: high on-top search results must be more relevant than later results in a result set.

  5. controlled results: search results can be controlled. For example: only return records before a certain date.

I was thinking Solr before, but got concerned because of requirement #2. I am not sure whether Solr can handles #2 beautifully for a very large database.

Any suggestion or pointers about Solr or other open-source search engines.

Thanks in advance!

Regards.


Solution

  • ElasticSearch

    Although Solr has Solr NRT (near real time) for your #2, ES is really build from the ground up to provide realtime search capabilities. Also it builds upon Lucene (like Solr) so there's a nice crossover in functionality between Solr, Lucene and ES.

    Also scalability was a concern from the ground up for ES, although Solr has recently made some progress in this regard as well. Still, foursquare, github etc rely on ES, so my bet is you're good to go for at least some time to come ;)