微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SolrCloud 重复数据删除覆盖不起作用

如何解决SolrCloud 重复数据删除覆盖不起作用

我一直在努力让重复数据删除在 ​​SolrCloud(8.6 版)中工作。我的 solrconfig.xml 包含:

<updateRequestProcessorChain name="dedupeOn">
       <processor class="solr.processor.SignatureUpdateProcessorFactory">
         <bool name="enabled">true</bool>
         <str name="signatureField">dedupeId</str>
         <bool name="overwriteDupes">true</bool>
         <str name="fields">journal_doi,internal_pmid</str>
         <str name="signatureClass">solr.processor.Lookup3Signature</str>
       </processor>
       <processor class="solr.LogUpdateProcessorFactory" />
       <processor class="solr.distributedUpdateProcessorFactory"/>
       <processor class="solr.RunUpdateProcessorFactory" />
     </updateRequestProcessorChain>

 <requestHandler name="/update" class="solr.UpdateRequestHandler" >
  <lst name="defaults">
          <str name="update.chain">dedupeOn</str>
  </lst>
  </requestHandler>

我的托管架构包含:

<field name="dedupeId" type="string" indexed="true" stored="true" multiValued="false" />

在我的测试中,我添加了 1000 个文档,并手动提交。我看到“dedupeId”是用哈希创建的。
然后我再添加 10 个我知道是重复的文档,并再次手动提交。添加这 10 行,并不会覆盖具有匹配 dedupeId 的原始文档。例如:

  "response":{"numFound":2,"start":0,"maxscore":2.1554677,"numFoundExact":true,"docs":[
      {
        "internal_pmid":"13367837","dedupeId":"7f0306ecd909a68e","journal_doi":"10.1097/00005053-195603000-00006"},{
        "internal_pmid":"13367837","journal_doi":"10.1097/00005053-195603000-00006"}]
  }}

我不确定它是否重要,但在 solr 日志中,我看到一些“添加”条目,其中部分包含:

webapp=/solr path=/update params={update.distrib=TOleader&update.chain=dedupeOn&distrib.from=*(shard path)*/&wt=javabin&version=2}{add=[00001hLxMb (1690871781072568320)]} 0 2

但其他添加条目不包含 update.chain 属性,例如

webapp=/solr path=/update params={wt=javabin&version=2}{add=[00000sta0n (1690871780667817984)]} 0 2

任何帮助将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。