当文档发送到solr并且该文档已存在于索引中(通过其ID)时,新文档将替换旧文档。
但是我不想自动替换文档。只需忽略并继续下一个即可。如何配置solr。
当然,我可以查询solr来检查它是否已经有文档,但是这对我来说是不利的,因为我进行批量更新,这会使过程复杂化并增加请求量。
那么,有什么方法可以将solr配置为忽略重复项?
最佳答案
在将文档发送到overwrite="false"
时,可以禁用具有相同uniqueIndex的文档的自动覆盖,该文档在add元素内指定属性UpdateHandler
。看看here。
<add overwrite="false">
<doc>
<field name="id">id</field>
</doc>
</add>
无论如何,这允许将重复的文档复制到solr 中,而不是跳过具有相同ID的新文档。我认为这不是您想要的行为。
我认为您应该编写自己的
UpdateHandler
或 UpdateRequestProcessor
或遵循从solr user mailing list获得的建议。
关于Solr,阻止更新现有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8494923/