首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们什么时候应该在SOLR中应用硬提交和软提交?

我们什么时候应该在SOLR中应用硬提交和软提交?
EN

Stack Overflow用户
提问于 2017-09-01 11:00:19
回答 1查看 6.9K关注 0票数 5

我想知道什么时候我们应该做硬承诺,什么时候我们应该做软提交在SOLR。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 11:48:57

与你刚才提出但删除的问题一样,这一点在互联网上得到了彻底的解释。

当您想让某物尽快可用时,无需等待将其写入磁盘,就可以进行软提交。当您想要确保它被持久化到磁盘时,要进行硬提交。

从上面的链接:

软提交

软提交是关于可见性的,硬提交是关于持久性的,关于软提交最需要理解的是它们会使文档可见,但代价是一定的。特别是“顶级”缓存,包括您在solrconfig.xml (filterCache、queryResultCache等)中配置的缓存将失效!自动武装将在顶级缓存(例如filterCache、queryResultCache)上执行,任何newSearcher查询都将被执行。而且,FieldValueCache是无效的,所以facet查询必须等到缓存刷新后再执行。对于非常频繁的软提交,通常情况下,顶级缓存很少被使用,在某些情况下,可能会被消除。但是,用于函数查询、排序等的“段级缓存”是“每个段”,因此在软提交时不会失效;它们可以继续使用。

硬提交

硬提交涉及持久性,软提交涉及可见性。这里真的有两种口味,openSearcher=true和openSearcher=false。首先,我们将讨论在这两种情况下发生的情况。如果是openSearcher=true或openSearcher=false,最重要的后果如下:

  • tlog被截断:启动一个新的tlog。
  • 如果更新的封闭日志中有超过100个文档,则旧日志将被删除。
  • 当前索引段关闭并刷新。
  • 可以启动背景段合并。
  • 上述情况发生在所有艰难的承诺上。

,这将留下openSearcher设置。

  • openSearcher=true: Solr/Lucene搜索器被重新打开,所有缓存都无效。自动武装完成等。这曾经是唯一的方式,你可以看到新增加的文件。
  • openSearcher=false:除了以上四点之外,再没有别的事情发生了。要搜索文档,必须进行软提交。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45998804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档