Solr与ElasticSearch
这些技术之间的核心架构差异是什么?
另外,哪些用例通常更适合每个用例?
更新
现在问题范围已被纠正,我也可以在这方面添加一些内容:
Apache Solr和ElasticSearch之间有许多比较,所以我会引用那些我自己发现最有用的,即覆盖最重要的方面:
Bob Yoplait已经将Kimchy的答案与ElasticSearch,Sphinx,Lucene,Solr,Xapian联系起来。 哪个适合哪种用法?,总结了他为什么继续创建ElasticSearch的原因,他认为在他看来,与Solr相比,它提供了一个更优越的分布式模型和易用性。
Ryan Sonnek的实时搜索:Solr与Elasticsearch提供了深入的分析/比较,并解释了为什么他从Solr切换到ElasticSeach,尽管他已经是一个快乐的Solr用户 - 他总结如下:
Solr可能是构建标准搜索应用程序时的首选武器,但Elasticsearch通过创建现代实时搜索应用程序的体系结构将其提升到新的水平。 渗流是一个令人兴奋和创新的功能,单独将Solr从水中吹出。 Elasticsearch具有可扩展性,快速性以及与之整合的梦想 。 Adios Solr,很高兴认识你。 [强调我的]
关于ElasticSearch的维基百科文章引用了德国知名iX杂志的一个比较,列出了优势和劣势,这几乎总结了上面已经说过的内容:
优点 :
缺点 :
初始答案
它们是针对完全不同用例的完全不同的技术,因此无法用任何有意义的方式进行比较:
Apache Solr - Apache Solr为易于使用的快速搜索服务器提供了Lucene的功能,并具有诸如分面,可扩展性等更多功能
Amazon ElastiCache - Amazon ElastiCache是一项Web服务,可以轻松部署,操作和扩展云中的内存缓存 。
[强调我的]
也许这种方式与以下两种相关技术有所混淆:
ElasticSearch - 它是一个建立在Apache Lucene之上的开源(Apache 2)分布式RESTful搜索引擎。
Amazon CloudSearch - Amazon CloudSearch是云中的完全托管搜索服务,可让客户轻松地将快速且高度可扩展的搜索功能集成到其应用程序中。
Solr和ElasticSearch产品乍一看听起来非常相似,都使用相同的后端搜索引擎,即Apache Lucene。
尽管Solr较旧,功能相当丰富,并且相应地被广泛使用,但ElasticSearch专门用于解决Solr在现代云环境中具有可扩展性要求的缺点,而这些缺点很难用Solr解决。
因此,将ElasticSearch与最近推出的Amazon CloudSearch进行比较可能最为有用(请参阅开始在一小时内开始搜索的价格低于100美元/月的介绍性帖子),因为它们都声称原则上涵盖相同的用例。
我看到上面的一些答案现在已经过时了一些。 从我的角度来看,我每天都同时使用Solr(云和非云)和ElasticSearch,这里有一些有趣的区别:
有关Solr与ElasticSearch主题更全面的介绍,请参阅http://blog.sematext.com/2012/08/23/solr-vs-elasticsearch-part-1-overview/。 这是Sematext发布的一系列帖子中的第一篇文章,它将直接和中立的Solr与ElasticSearch进行比较。 披露:我在Sematext工作。
我看到很多人在这里回答了这个ElasticSearch vs Solr问题的特性和功能,但是我并没有在这里(或其他地方)看到他们在性能方面比较的多少讨论。
这就是我决定进行自己的调查的原因。 我采用了已经使用Solr进行术语搜索的已编码异构数据源微服务。 我将Solr换成了ElasticSearch,然后我在AWS上运行了一个已经编码的负载测试应用程序,并捕获了后续分析的性能指标。
这是我发现的。 索引文档时,ElasticSearch的吞吐量提高了13%,但Solr的速度提高了十倍。 当查询文档时,Solr的吞吐量增加了五倍,比ElasticSearch快五倍。
链接地址: http://www.djcxy.com/p/86391.html