Elasticsearch中的多语句脚本

时间:2018-10-08 12:23:08

标签: elasticsearch

我已为文档建立索引 PUT测试/ _doc / 1

{
    "counter" : 1,
    "tags" : ["red"]
}

我正在使用脚本来更新我的文档内容 POST测试/ _doc / 1 / _update

{
    "script" : {
        "source": "ctx._source.tags.add(params.tag)",
        "lang": "painless",
        "params" : {
            "tag" : "blue"
        }
    }
}

POST测试/ _doc / 1 / _update

{
    "script" : "ctx._source.new_field = 'value_of_new_field'"
}

这两个脚本可以单独正常工作,我想在一个“ _update” API中使用这两个脚本语句。可以这样做吗?

1 个答案:

答案 0 :(得分:0)

您可以简单地在语句之间添加分号,如下所示:

{
  "script": {
    "source": "ctx._source.tags.add(params.tag); ctx._source.new_field = 'value_of_new_field';",
    "lang": "painless",
    "params": {
      "tag": "blue"
    }
  }
}