Сценарии с несколькими утверждениями в эластичном поиске - PullRequest
0 голосов
/ 08 октября 2018

Я проиндексировал документ PUT test / _doc / 1

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

Я использую скрипт для обновления содержимого документов POST test / _doc / 1 / _update

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

POST test / _doc / 1 / _update

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

Эти два сценария работают нормально по отдельности, я хочу использовать эти два оператора сценария в одном API-интерфейсе "_update".Возможно ли это сделать?

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете просто добавить точки с запятой между утверждениями, например так:

{
  "script": {
    "source": "ctx._source.tags.add(params.tag); ctx._source.new_field = 'value_of_new_field';",
    "lang": "painless",
    "params": {
      "tag": "blue"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...