使用Solr API进行原子更新后,DIH索引重复文档

时间:2019-04-18 10:22:47

标签: solr

我正在使用Solr 7.5.0进行DIH索引编制。第一次使用DIH进行索引编制工作正常

DIH请求格式:

网址:http://localhost:8983/solr/LatestDemo1/dataimport?command=full-import&Person=1,2,3&entity=Person&commit=true&clean=false

在DIH之后为数据编制索引:

{"response":{"numFound":1,"start":0,"docs":[
      {
        "id":"P1",
        "CreatedOnUtc":"2019-04-05T10:39:29.820Z",
        "Name":"Mahesh",
        "Age":25,
        "Gender":"M"
      }
}

使用原子更新执行部分索引编制后,它可以轻松更新我的字段,如名称,姓氏

使用Solr API使用原子更新进行更新

网址:http://localhost:8983/solr/LatestDemo1/update?commit=true&clean=true

方法:发布

数据:

[
    {
     "id":"P1",
     "Name":{"set":"Rakesh"},
     "LastName":{"set":"Girase"},
    }
]

在原子更新后为数据编制索引:

{"response":{"numFound":1,"start":0,"docs":[
      {
        "id":"P1",
        "CreatedOnUtc":"2019-04-05T10:39:29.820Z",
        "Name":"Rakesh",
        "Age":25,
        "Gender":"M",
        "Lastname":"Girase"
      }
    ]  
}

这完全可以正常工作,但是当我再次使用DIH进行索引编制时,文档将像下面一样被复制

{"response":{"numFound":2,"start":0,"docs":[
      {
        "id":"P1",
        "CreatedOnUtc":"2019-04-05T10:39:29.820Z",
        "Name":"Mahesh",
        "Age":25,
        "Gender":"M"
      },
      {
        "id":"P1",
        "CreatedOnUtc":"2019-04-05T10:39:29.820Z",
        "Name":"Rakesh",
        "Age":25,
        "Gender":"M",
        "Lastname":"Girase"
     }
    ]
}

在这里,我已经在如下所示的托管模式中将我的Id字段声明为UniqueKey

  

<uniqueKey>id</uniqueKey>

使用API​​进行原子更新后,不应使用DIH复制文档

任何建议都将受到赞赏。。谢谢。

0 个答案:

没有答案