考虑具有以下字段的Solr索引:
<fields>
<field name="id" type="uuid" indexed="true" stored="true" default="0"/>
<field name="user" stored="true" type="string" multiValued="false" indexed="true"/>
<field name="text" stored="true" type="textmulti" multiValued="false" indexed="true"/>
<field name="media" stored="true" type="string" multiValued="false" indexed="true"/>
</fields>
如果存在具有相同user
和text
字段的当前文档,我会认为新索引的文档是欺骗(因此被拒绝),无论{{1 }或id
字段的内容是。匹配media
或 user
的文档不足以被视为欺骗,必须 text
和 user
。
我已经阅读了Solr wiki上的Document Duplication Detection和XML Messages for Updating a Solr Index,但我仍然没有看到如何配置它。有任何想法吗?我正在使用精彩的solr-php-client通过PHP连接到Solr。
感谢。
答案 0 :(得分:1)
可能你有一些理由不这样做,但你可以使用用户和文本的串联作为id,然后你就不需要使用Duplicate Detection,因为如果你不覆盖,Solr会为你做这件事