我对Solr和Elasticsearch的近实时搜索功能感到困惑。据认为,近实时搜索是Elasticsearch优于Solr的优势之一。但是,我已经阅读了一些Solr的文档,其中说通过使用软提交(也可以使用打开新的搜索器的代价),也可以在Solr上完成近实时搜索。这样,新文档将在1秒钟内可见。在Elasticsearch中,刷新还可以使新文档在一秒钟内可供搜索。我是否想念或误解了什么?实时搜索哪个更好?任何答案将不胜感激。谢谢。
最佳答案
最终,他们都在引擎盖下使用了lucene。在lucene中进行近实时搜索意味着重新打开索引阅读器,在elasticsearch中称为refresh,并通过refresh api公开。
另一方面,您也需要提交Lucene索引以具有持久性,这很昂贵,并且无法每秒完成,这就是为什么elasticsearch拥有事务日志并且使elasticsearch“kill -9安全”的原因,并且还允许实时获取。
但是对我来说最好的部分是,在Elasticsearch中,用户不必担心刷新和提交过多的事情,因为默认情况下,一切都会在后台自动发生。同时,有一些api(刷新和刷新)以及允许更改 super 用户默认行为的设置。
关于solr - Solr与Elasticsearch进行近实时搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21833459/