solr - Solr与Elasticsearch进行近实时搜索

标签 solr elasticsearch near-real-time

我对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/

相关文章:

snowflake-cloud-data-platform - 使用 Snowpipe - 加载小文件的最佳实践是什么。例如。每天数千个 4K 文件?

hadoop - 可以找到或加载主类 org.apache.nutch.crawl.InjectorJob

c# - 如何避免 Elasticsearch 中的常见术语

laravel - Laravel Scout Elasticsearch -找不到索引

c# - 巢-IndexMany不索引我的对象

ruby - 如何流式传输(大)日志文件?

android - 如何制作可变的 ItemizedOverlay

tomcat - 使用 Tomcat 的 Solr 配置

indexing - 基于句子而不是整个字段值构建 Solr 建议

java - 完全导入 Solr 时出现访问被拒绝错误