我们正在使用Solr来存储通过其他服务接收和摄取的项目。
我目前正在调查一项任务,以避免使用相同的ID创建重复项目。
我不是Solr的专家,并试图从离开公司的人那里接过任务。关于如何防止重复的最后一个建议提到应该可以使用在id字段上定义唯一id和使用UpdateRequestProcessor链的组合。我不太了解UpdateRequestProcessor链以了解这种方法。我知道最终的目标是当一个项目被发送到Solr并且ID与现有id相同时,将执行更新而不是创建。
我查看了有关UpdateRequestProcessor链的Solr文档。如果没有更多背景信息,那些资源到目前为止还没有那么大的帮助。我想我会从Solr专家那里受益,帮助我开始或指导我朝着正确的方向前进。
答案 0 :(得分:0)
您不需要参与URP。它比这简单得多。如果您的文档ID(在schema.xml
中定义为<uniqueKey>id</uniqueKey>
)已经是一个独特的身份,那么,你不需要做任何其他事情。索引具有相同ID的相同doc两次将第二次更新它(删除和引擎盖下的新插入)。
如果您的uniqueKey
不是唯一ID,那么只需重新设计架构(如果需要,可以使用Solr修改应用),以便它们匹配。