Solr,阻止更新现有文档

Ale*_*der 4 indexing solr document ignore duplicates

当文档被发送到solr并且索引中已存在此类文档(通过其ID)时,新文档将替换旧文档.

但我不想自动替换文件.只需忽略并继续下一步.我该如何配置solr.

当然我可以查询solr来检查它是否已经有文件,但这对我来说不好,因为我做批量更新,这会使流程复杂化并增加请求数量.

那么有没有办法配置solr来忽略重复?

jav*_*nna 7

您可以overwrite="false"在向文档发送文档时使用相同的uniqueIndex来禁用自动覆盖文档,以指定add元素中的属性UpdateHandler.看看这里.

<add overwrite="false">
    <doc>
        <field name="id">id</field>
    </doc>
</add>
Run Code Online (Sandbox Code Playgroud)

无论如何,这允许将重复文档放入solr,而不是跳过具有相同ID的现有文档.我不认为这是你想要的行为.

我想你应该写自己UpdateHandlerUpdateRequestProcessor或跟着你从得到的建议Solr的用户邮件列表.