Solr,阻止更新现有文档

webghufk  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(174)

当一个文档被发送到solr,并且这样的文档已经存在于索引中(通过它的ID),那么新的文档将替换旧的文档。
但我不想自动替换文档。忽略并继续下一个。我如何配置solr。
当然,我可以查询solr来检查它是否已经有了文档,但这对我来说是不好的,因为我做批量更新,这将使过程复杂化,并增加请求量。
那么,有没有办法配置solr忽略重复项呢?

ztigrdn8

ztigrdn81#

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

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

无论如何这允许有重复的文档到solr,而不是跳过与现有文档相同id的新文档。我不认为这是你想要的行为。
我认为你应该写你自己的UpdateHandlerUpdateRequestProcessor或者按照你从solr user mailing list得到的建议去做。

相关问题