我如何在同时具有“script”和“doc”的 ES 上发出单个更新请求..?

2024-01-01

我的“文档”请求:

POST test_v2/_update/Z_nM_2wBjkGOA-r6ArOb
{
  "doc": {
    "CD": {
      "middle": "prakash",
      "first": "raj"
    }
  },
  "doc_as_upsert": "true"
}

我的“脚本”请求:

POST test_v2/_update/Z_nM_2wBjkGOA-r6ArOb
{
  "script": {
    "lang": "painless",
    "inline": "if(!ctx._source.containsKey('nested_field')){ctx._source['nested_field']=[]}ctx._source.nested_field.add(params.object)",
    "params": {
      "object": {
        "model": "tata nano",
        "value": "2"
      }
    }
  }
}

我想加入这个“脚本”和“文档”,并向他们提出一个请求,请帮助我实现这一目标。我正在使用 ES v7.3。根据 ES 的说法,我不能将它们都包含在一个请求中。


ctx._source['CD']=params.object1 ---> 将更新或添加新字段

POST test3/_update/30RaAG0BY3127H1HaOEv
{
  "scripted_upsert":true,
  "script": {
    "lang": "painless",
    "inline": "ctx._source['CD']=params.object1; if(!ctx._source.containsKey('comments')){ctx._source['comments']=[]}ctx._source.comments.add(params.object)",
    "params": {
      "object": {
        "model": "tata nano",
        "value": "2"
      },
      "object1": {
      "middle": "prakash1",
      "first": "raj1"
    }
    }
  },
  "upsert" : {}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何在同时具有“script”和“doc”的 ES 上发出单个更新请求..? 的相关文章

随机推荐