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 (将#修改为@)