Solr的自动提交功能是否适用于删除

时间:2013-10-13 22:21:26

标签: solr

我有solrconfig.xml的一部分,它启用了Solr的自动提交功能:

<autoCommit>
    <maxDocs>20000</maxDocs>
    <maxTime>3600000</maxTime>
   <openSearcher>false</openSearcher>       
</autoCommit>

但是,在执行大量删除操作时,我注意到自动提交不会触发提交。

这是预期的吗?如果是这样,有没有办法为删除配置自动提交?

1 个答案:

答案 0 :(得分:2)

Kai Chan部分正确。这句话:

setting openSearcher to false might make committed changes not visible right away.

应改为

setting openSearcher to false will make auto-committed changes not visible right away.

如果您正在进行批量添加,

<openSearcher>false</openSearcher>会对您有所帮助。在完全导入期间,您将首先发出“全部删除”,然后开始添加文档。一旦发生自动提交,您很可能不想打开新的搜索器,因为您的可搜索索引可能只是部分索引。在为要打开的新搜索器添加所有文档后,您必须自己发出显式提交命令。您可以使用/update?commit=true执行此操作。

本声明: But after 20000 documents, there is no commit.

也不是真的。有一个提交,但Solr没有打开一个新的搜索器,这意味着您的更改将不会在搜索中显示。只要您发出显式提交,更改就会变为可见。