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 的近实时搜索的主要内容,如果未能解决你的问题,请参考以下文章