5 ms·
Any reasons to prefer Solr over elastic-search?
by sagivo 12y ago
Any reasons to prefer Solr over elastic-search?
- chatman 12y agoSolr is backed by the Apache community while ES is backed by a private entity. Is that a good reason?
- matthewmacleod 12y agoNot really, no. If ElasticsearchCo were to go belly-up, the technology would almost certainly be backed by someone else.
- capkutay 12y agoI don't know what you mean when you say backed by the Apache Community, but Elasticsearch is also an open source, apache-licensed project that has a commercial, private counterpart. I think every major open source project has this now (Hadoop has Cloudera/Hortonworks/MapR, Spark has databricks).
- TallGuyShort 12y ago>> I don't know what you mean when you say backed by the Apache Community It's a matter of who does the releasing (i.e. curating of patches, responsibility for building community, etc.): Solr is governed by the Apache Software Foundation and associated volunteers, ElasticSearch is governed by the private entity. IMO (and this is an increasingly rare opinion) the license is the most important piece and they're both under the ASL 2.0.
- nemothekid 12y agoGoverning alone - I don't that thats a good reason. There are plenty of Apache projects that are effectively governed by a private entity (Cassandra, Samza, Kafka, and these are all in the "big data" space), that would most likely be as useful as Elasticsearch if their supporting companies disappeared overnight.
- passwordis 12y agosolr is much better
- ecaron 12y agoNo. It'd be like preferring memcache over redis. You'll find warriors in both camps, but most people have forgotten there was a debate.
- apawloski 12y agoSearch-wise? You're ending up at Lucene either way. Scaling-wise? Distributed Elasticsearch doesn't have a Zookeeper dependency, which is nice. But Solr has more sharding flexibility and partition tolerance. Like everything else, depends on your needs.
- craigching 12y ago> partition tolerance Yes, see [1] and [2] for a comparison between Solr and Elasticsearch. I should mention also that ES are working on the partition tolerance issue as described in [3]. I am currently using 1.4.3 and am wondering if anything was addressed in 1.4 for resiliency. [1] http://lucidworks.com/blog/call-maybe-solrcloud-jepsen-flaky-networks/ http://lucidworks.com/blog/call-maybe-solrcloud-jepsen-flaky... [2] https://aphyr.com/posts/317-call-me-maybe-elasticsearch https://aphyr.com/posts/317-call-me-maybe-elasticsearch [3] http://www.elasticsearch.org/blog/resiliency-elasticsearch/ http://www.elasticsearch.org/blog/resiliency-elasticsearch/
- shironinja 12y agoFor your use case set up both and then do some testing. Speaking for myself I did that and found that SOLR was a lot more performant. I needed a high-traffic solution without a bunch of servers. I find that ES tries to do too much with all the dashboards and monitoring etc. SOLR keeps it simple and thereby does not incur the performance penalty. Also when an ES cluster goes south (cluster health "yellow" or "red") it seemed like a pain to troubleshoot and determine the real reason WHY. SOLR seems more durable and when something needs investigation you get a clear message in the log. If you are starting something new and just don't know your traffic requirements and are scared of it "going viral" like a hot new mobile game ES may work for you though. The one thing it excels at is adding more ES servers to the cluster quickly. So if you need more servers ASAP and don't care about the cost ES has that covered.
- lobster_johnson 12y agoDoes Solr have the same problem as ES where you can't modify an index mapping after creating it? With ES you have to reindex everything into a new temporary index and then swap the new and old indexes. It's a terrible design, especially considering that ES already has all the original data and should be perfectly capable of doing it itself, incrementally.
- shironinja 12y agoIt is similar in SOLR (and other NoSQL data stores) currently .. at least as far as I am aware. It can be quite intensive especially since ES, SOLR, etc like to use as much memory as they can for fast access. Any non-trivial application should have duplicate servers / instances to soak up the traffic while a change like that is migrated.
- arafalov 12y agoThe primary limitation comes from Lucene, which powers both. With Solr, you could change the definition and reload the core, but you will be getting some weird artifacts for the previously-indexed content. Neither Solr nor Elasticsearch should be treated as a primary data store, so that's probably why reindex-in-place is not the highest priority.
- arafalov 12y agoSolr is a lot more configurable (Search Components, Update Request Processors, configurable Schemaless processing sequence, etc). Solr includes Admin UI console which is free for production, ES has one that's only free for development. Solr has contributors from a lot more different companies, so grows into multiple directions at once. If you want to compare on a technical level, you can see my presentation from the Lucene/Solr Revolution back in November: http://www.slideshare.net/arafalov/solr-vs-elasticsearch-case-by-case http://www.slideshare.net/arafalov/solr-vs-elasticsearch-cas... Solr is completely free. If that's not an issue for you and you are ready to pay, then you should compare Elasticsearch to LucidWorks Fusion, not directly to Solr.