对于特定的 Solr 应用程序,我需要丢弃重复的结果。我有一个字段id
设置为 schema.xml 中的唯一键,如下所示:
<uniqueKey>id</uniqueKey>
当我/update/json?commit=true
使用现有文档的 id 调用时,现有文档会正确更新。但是,当我打电话时,/update/json?commit=true&overwrite=false
会添加一个具有相同 ID 的附加文档!如何配置 Solr 以丢弃具有现有文档 ID 的文档?我注意到该allowDups
属性已贬值,因此我不想将其引入运行 Solr 4.x 的新代码中。在任何情况下,默认值是false
这样我不明白为什么要添加欺骗。
如果重要,该id
字段定义如下:
<field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
需要明确的是,我不想更新,也不想创建新文档。我想丢弃新文档。该id
字段被计算为其他几个字段内容的哈希值。因此,如果另一个具有相同哈希 (id) 的字段已经存在,我不想更新它(我需要始终保留相同哈希的最旧文档)并且我不想创建新记录(重复)。我只是想丢弃新文档。
我正在寻找类似于INSERT IGNORE INTO
SQL 语句的行为。