当一个文档被发送到solr,并且这样的文档已经存在于索引中(通过它的ID),那么新的文档将替换旧的文档。但我不想自动替换文档。忽略并继续下一个。我如何配置solr。当然,我可以查询solr来检查它是否已经有了文档,但这对我来说是不好的,因为我做批量更新,这将使过程复杂化,并增加请求量。那么,有没有办法配置solr忽略重复项呢?
ztigrdn81#
当您将文档发送到UpdateHandler时,您可以在add元素中指定overwrite="false"属性来禁用对具有相同uniqueIndex的文档的自动覆盖。
UpdateHandler
overwrite="false"
<add overwrite="false"> <doc> <field name="id">id</field> </doc> </add>
无论如何这允许有重复的文档到solr,而不是跳过与现有文档相同id的新文档。我不认为这是你想要的行为。我认为你应该写你自己的UpdateHandler或UpdateRequestProcessor或者按照你从solr user mailing list得到的建议去做。
UpdateRequestProcessor
1条答案
按热度按时间ztigrdn81#
当您将文档发送到
UpdateHandler
时,您可以在add元素中指定overwrite="false"
属性来禁用对具有相同uniqueIndex的文档的自动覆盖。无论如何这允许有重复的文档到solr,而不是跳过与现有文档相同id的新文档。我不认为这是你想要的行为。
我认为你应该写你自己的
UpdateHandler
或UpdateRequestProcessor
或者按照你从solr user mailing list得到的建议去做。