【发布时间】:2021-07-01 05:29:44
【问题描述】:
我有一个包含如下文档的索引
{ "StartId": "123a", "EndId": "123b", "Tag": "tag1" }
{ "StartId": "234a", "EndId": "234b", "Tag": "tag2" }
{ "StartId": "345a", "EndId": "345b", "Tag": "tag3" }
{ "StartId": "456a", "EndId": "456b", "Tag": "tag4" }
现在我有一个新文档
{ "StartId": "567a", "EndId": "567b", "Tag": "tag5" }
如果索引中已经存在来自新文档的StartId,我想用新文档中的数据更新它,否则我想插入新文档。
我知道如何通过_id更新插入
POST test/_update/1
{
"doc": {
"name": "new_name"
},
"doc_as_upsert": true
}
但是是否可以通过_id 以外的任何字段进行更新插入?如果是,我该怎么做?
【问题讨论】:
标签: elasticsearch upsert