两者都是在Apache Software License下发布的。
Solr是真正开源 - 社区胜于代码。任何人都可以贡献Solr代码,新的Solr开发者(aka committers)择优选出。 Elasticsearch在技术上是开源的,但在精神上却少一些。任何人都可以看到源代码,任何人都可以改变它,并提供贡献,但只有Elasticsearch员工才能真正改变Elasticsearch。
Solr的贡献者和提交来自多个不同的组织,而Elasticsearch提交者是从一个单一的公司。
许多组织都选择了Solr超过了Elasticsearch作为他们搜索(例如Cloudera,Hortonworks,MAPR等),即使他们也是Elasticsearch合作伙伴。
Solr和Elasticsearch都有活跃的用户和开发者社区,并正在迅速发展。
如果您需要添加一个Solr的或Elasticsearch都没有的功能,最好选用Solr,虽然它有Solr JIRA问题,但至少他们还是开放的,不是封闭的。
两者均具有良好的商业支持(咨询,生产支持,集成等)
两者周围都有很好的操作工具,即使是 Elasticsearch,因为它更易于使用的API,吸引了更多的开发者,从而使得它周围工具的生态系统非常活跃。
Elasticsearch在开源日志管理方面处于主导地位 - 大量的组织用Elasticsearch索引他们的日志,使日志可搜索。虽然Solr的现在可以用于此,但是它在这方面错失了先机。
Solr更多以文本搜索为主。然而Elasticsearch通常用于过滤和分组 - 分析查询工作 – 不只是文本搜索。 Elasticsearch开发者投入了大量的精力在Lucene和Elasticsearch上来提高查询效率。因此,Elasticsearch不仅提供文本搜索,而且可以进行复杂的查询。
在性能方面,它们是大致相同的。我说“大致”,因为从来没有人做过全面的、不带偏见的基准测试。在性能方面,对于95%使用场景来说,选择二者都可以,剩余的5%需要测试,根据特定的数据和特定接入模式来决定。
从操作上讲,Elasticsearch更容易一点儿 - 它只是一个单一的过程。 Solr,与Elasticsearch分布式对应的是 SolrCloud,依赖于Apache ZooKeeper。ZooKeeper是超级成熟、超广泛应用。
虽然Elasticsearch内置了与ZooKeeper类似的组件Zen,ZooKeeper更有效对于防止Elasticsearch集群中可怕的脑裂问题。平心而论,Elasticsearch开发人员意识到这个问题,正在改善Elasticsearch的这方面。
如果您已经投入了大量的时间在Solr中,坚持下来,除非有特殊的solr处理不好的使用场景。
如果你强烈坚持真正开源的话,Solr比Elasticsearch更接近。
如果你存储数据时,除了文本搜索之外,还需要进行分析查询,Elasticsearch是目前一个更好的选择。
参考:Solr vs. Elasticsearch — How to Decide? January 30, 2015 by MICK EMMETT
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com