1

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

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

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

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

4

1 回答 1

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 没有打开新的搜索器,这意味着您的更改将在搜索中不可见。一旦您发出显式提交,更改就会变得可见。

于 2013-10-14T16:44:21.847 回答