我不确定在批量索引编制中是否正确使用了upsert操作。

我的要求是:

{ "update": {"_id": "610946100"}}\n
{"doc": {"id":"610946100","uri":"/0/0/1/6/4/0/610946100.xml"}, "doc_as_upsert" : true}\n

网址是:http://localhost:9200/anIndex/aType/_bulk
我想我错过了documentation中的某些内容,但仍然找不到如何进行此操作的方法。

我想要的是在索引中创建以上文档,或者如果存在则对其进行更新。

最佳答案

如果您通过批量API将索引中的记录添加为

{ "create": {"_id": "someId"}}\n
{"id":"someId","uri":"/0/1/3/2/1/0511912310/511912310.xml"}\n
那么如果该ID已存在于索引中,您将获得一个异常。
如果要添加或替换文档(取决于文档是否存在),则应按以下方式进行请求
{ "index": {"_id": "someId"}}\n
{"id":"someId","uri":"/0/1/3/2/1/0511912310/511912310.xml"}\n

关于elasticsearch - ElasticSearch批量插入/更新操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24651596/

10-13 09:01