我想知道什么时候我们应该做硬承诺,什么时候我们应该做软提交在SOLR。
谢谢
发布于 2017-09-01 11:48:57
在与你刚才提出但删除的问题一样,这一点在互联网上得到了彻底的解释。中
当您想让某物尽快可用时,无需等待将其写入磁盘,就可以进行软提交。当您想要确保它被持久化到磁盘时,要进行硬提交。
从上面的链接:
软提交
软提交是关于可见性的,硬提交是关于持久性的,关于软提交最需要理解的是它们会使文档可见,但代价是一定的。特别是“顶级”缓存,包括您在solrconfig.xml (filterCache、queryResultCache等)中配置的缓存将失效!自动武装将在顶级缓存(例如filterCache、queryResultCache)上执行,任何newSearcher查询都将被执行。而且,FieldValueCache是无效的,所以facet查询必须等到缓存刷新后再执行。对于非常频繁的软提交,通常情况下,顶级缓存很少被使用,在某些情况下,可能会被消除。但是,用于函数查询、排序等的“段级缓存”是“每个段”,因此在软提交时不会失效;它们可以继续使用。
硬提交
硬提交涉及持久性,软提交涉及可见性。这里真的有两种口味,openSearcher=true和openSearcher=false。首先,我们将讨论在这两种情况下发生的情况。如果是openSearcher=true或openSearcher=false,最重要的后果如下:
,这将留下openSearcher设置。
https://stackoverflow.com/questions/45998804
复制相似问题