2011-12-13 64 views
4

当文档被发送到Solr并且这样的文件已经存在于索引(由它的ID)的块的更新,则新一个替换旧的。Solr的,现有的文件

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

我当然可以查询到Solr的检查,如果它有文件了,不过这是对我不好,因为我做批量更新,这将过程复杂化,并增加委托量。

那么,有没有配置Solr的忽略重复任何方式?

+0

你读过我的更新答案吗?它有用吗? – javanna 2012-01-14 11:15:14

+0

是的,它是有用的。感谢您的关注和帮助。我通过实施简单的更新处理程序来解决这个问题,该程序丢弃了现有的新文档。 – Alexander 2012-01-17 09:48:20

回答

7

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

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

反正这允许有重复的文件到Solr的,而不是跳过与现有的相同ID的新文档。我不认为这是你想要的行为。

我想你应该自己写UpdateHandlerUpdateRequestProcessor或按照你从solr user mailing list得到的建议。