Solr 与 Elasticsearch 的近实时搜索

Posted

技术标签:

【中文标题】Solr 与 Elasticsearch 的近实时搜索【英文标题】:Solr vs Elasticsearch on near real time search 【发布时间】:2014-02-17 15:49:30 【问题描述】:

我对 Solr 和 Elasticsearch 的近实时搜索能力感到困惑。近乎实时的搜索被认为是 Elasticsearch 相对于 Solr 的优势之一。但是,我已经阅读了 Solr 的一些文档,说通过使用软提交也可以在 Solr 上进行近实时搜索,但需要花费打开新搜索器的成本。通过这样做,新文档在 1 秒内可见。在 Elasticsearch 中,刷新还可以在一秒钟内使新文档可供搜索。我错过或误解了什么吗?哪一个在实时搜索方面做得更好?任何答案将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

在一天结束时,他们都在引擎盖下使用 lucene。 lucene 中的近实时搜索意味着重新打开索引阅读器,在 elasticsearch 中称为刷新并通过refresh api 公开。

另一方面,您也需要提交 lucene 索引以获得持久性,这很昂贵并且不能每秒完成,这就是为什么 elasticsearch 有一个事务日志以及使 elasticsearch “kill -9 安全”的原因,并且还允许实时获取。

但对我来说最好的部分是在 elasticsearch 中,用户不必担心刷新和提交太多,因为默认情况下所有事情都会在后台自动发生。同时,还有 API(刷新和刷新)以及允许更改高级用户默认行为的设置。

【讨论】:

ElasticSearch 是否支持实时索引或近实时?从您的回复看来是实时的。想确认一下。 @frosty - Elasticsearch 是实时的(不是实时的)

以上是关于Solr 与 Elasticsearch 的近实时搜索的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch的实时搜索性能为啥比solr好

Solr与ES(ElasticSearch)对比

搜索引擎选择: Elasticsearch与Solr(转载)

搜索引擎:Elasticsearch与Solr

搜索引擎选择: Elasticsearch与Solr

搜索引擎选择: Elasticsearch与Solr