首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新elasticsearch文档

更新elasticsearch文档
EN

Stack Overflow用户
提问于 2016-07-28 04:39:16
回答 2查看 998关注 0票数 1

此代码正在按预期工作。但是,我不想把第三国作为另一份文件,而是要更新第一份文件。

代码语言:javascript
复制
DELETE /test_index

PUT /test_index

PUT /test_index/doc/1
{
   "parent": [
      {
         "name": "India",
         "label": "IN"
      },
      {
         "name": "China",
         "label": "CN"
      }
   ]
}

PUT /test_index/doc/2
{
   "parent": [
      {
         "name": "Pakistan",
         "label": "PK"
      }
   ]
}

这样证件ID 1将有印度、中国和巴基斯坦3个国家。我想我需要带有doc_as_upsert参数的更新API。但我不知道如何编写JSON。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-28 04:49:08

可以使用更新API进行脚本更新。

代码语言:javascript
复制
curl -XPOST 'localhost:9200/test_index/doc/1/_update' -d '{
    "script" : {
        "inline": "ctx._source.parent += ['name': name, 'label': label]",
        "params" : {
            "name" : "Pakistan",
            "label": "PK"
        }
    }
}'

更新

如果要在大容量查询中使用此方法,也可以使用此方法。

代码语言:javascript
复制
curl -XPOST 'localhost:9200/test_index/doc/_bulk' -d '
{ "update" : { "_id" : "1"} }
{ "script" : { "inline": "ctx._source.parent += ['name': name, 'label': label]", "lang" : "groovy", "params" : {"name" : "Pakistan", "label": "PK"}}}
'
票数 1
EN

Stack Overflow用户

发布于 2016-07-28 06:36:46

在val的回答中添加,如果文档不存在,我可以使用upsert。

代码语言:javascript
复制
POST /test_index/doc/1/_update
{
   "script": {
      "inline": "ctx._source.parent += ['name': name, 'label': label]",
      "params": {
         "name": "Pakistan",
         "label": "PK"
      }
   },
   "upsert": {"parent" : [{
      "name": "Pakistan",
      "label": "PK"
   }]
   }
}

更新

使用upsert的大容量API看起来会像这样.

代码语言:javascript
复制
POST /test_index/doc/_bulk
{ "update" : { "_id" : "1"} }
{ "script" : { "inline": "ctx._source.parent += ['name': name, 'label': label]", "lang" : "groovy", "params" : {"name" : "Pakistan", "label": "PK"}}, "upsert": {"parent" : [{"name": "Pakistan", "label": "PK" }] }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38627213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档