这些技术之间的核心架构差异是什么?

另外,哪些用例通常更适合每种用例?


当前回答

我使用Elasticsearch 3年了,使用Solr大约一个月,我觉得与Solr安装相比,Elasticsearch集群非常容易安装。Elasticsearch有一个帮助文档池,其中有很好的解释。其中一个用例是直方图聚合,它在ES中可用,但在Solr中找不到。

其他回答

我看到这里有很多人回答了ElasticSearch和Solr在特性和功能方面的问题,但我在这里(或其他地方)没有看到太多关于它们在性能方面如何比较的讨论。

这就是我决定自己进行调查的原因。我采用了一个已经编码的异构数据源微服务,该服务已经使用Solr进行术语搜索。我把Solr换成了ElasticSearch,然后在AWS上用一个已经编码的负载测试应用程序运行了两个版本,并捕获了用于后续分析的性能指标。

以下是我的发现。在索引文档时,ElasticSearch的吞吐量要高13%,而Solr的速度要快10倍。在文档查询方面,Solr的吞吐量是ElasticSearch的5倍,速度也是ElasticSearch的5倍。

我一直致力于。net应用程序的solr和弹性搜索。 我所面临的主要不同是

弹性搜索:

更多的代码和更少的配置,但有api的改变 但仍然是一个代码更改 对于复杂类型,类型中类型即嵌套类型(在solr中无法实现)

Solr:

代码更少,配置更多,因此维护更少 用于在查询期间对结果进行分组(在 弹性搜索,简而言之,没有直接的方法)

我已经创建了elasticsearch和Solr和splunk之间的主要差异表,您可以使用它作为2016年的更新:

我使用Elasticsearch 3年了,使用Solr大约一个月,我觉得与Solr安装相比,Elasticsearch集群非常容易安装。Elasticsearch有一个帮助文档池,其中有很好的解释。其中一个用例是直方图聚合,它在ES中可用,但在Solr中找不到。

如果您已经在使用SOLR,请坚持使用。如果你正在创业,使用弹性搜索。

最大的主要问题已经在SOLR中得到了解决,它是相当成熟的。