elasticsearch bulk upsert,查询特定字段

hsgswve4  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(527)

此Map有一个索引:

"data": {
   "type": "object"
},
"modified_date": {
   "type": "date"
},
"uid": {
   "type": "keyword"
}

现在我想对upsert执行一个批量操作(如果存在则更新,如果不存在则插入)。查询已打开 uid 现场。我写了这个查询,但不起作用。

URL : http://host/index/_bulk
METHOD : POST
DATA :
{"update":{"uid":"123"}}
{"doc":{"modified_date":"...", "data":{"array":[1,2,3]}}, "doc_as_upsert":true}
{"update":{"uid":"456"}}
{"doc":{"modified_date":"...", "data":{"array":[4,5,6]}}, "doc_as_upsert":true}
{"update":{"uid":"789"}}
{"doc":{"modified_date":"...", "data":{"array":[7,8,9]}}, "doc_as_upsert":true}

如何在查询打开的情况下执行批量upsert uid 场?

sqserrrh

sqserrrh1#

如果您将操作从 updateinsert ,你就要升职了。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html
index和create操作在下一行中需要一个源,并且与标准index api中的op\u type参数具有相同的语义:create失败如果目标中已经存在具有相同id的文档,index会根据需要添加或替换文档。

相关问题