Solr,阻止更新现有文档

时间:2011-12-13 19:23:08

标签: solr indexing duplicates document ignore

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

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

当然,我可以查询solr以检查它是否已经包含该文档但是对我来说不好,因为我会进行批量更新,这会使流程复杂化并增加请求量。

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

1 个答案:

答案 0 :(得分:7)

在将文档发送到overwrite="false"时,您可以禁用在add元素中使用相同uniqueIndex指定属性UpdateHandler的文档的自动覆盖。看看here

<add overwrite="false">
    <doc>
        <field name="id">id</field>
    </doc>
</add>

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

我认为您应该自己编写UpdateHandlerUpdateRequestProcessor或按照solr user mailing list提供的建议。