как добавить новое поле в документ, используя безболезненный скрипт - PullRequest
0 голосов
/ 31 мая 2018

Есть ли способ создания поля в документе в безболезненном сценарии, если он не существует?

Я использую что-то вроде:

     if(!ctx._source.tags.contains(....)

, но поле тегов может небыть в документе

это можно сделать?

спасибо.

1 Ответ

0 голосов
/ 06 марта 2019

Если вы планируете использовать _update_by_query API, я бы порекомендовал вам сделать что-то вроде:

POST your_index/_update_by_query
{
  "query": {
    "bool": {
      "must_not": {
        "exists": {
          "field": "tags"
        }
      }
    }
  },
  "script": {
    "source": "ctx._source.tags = ''"
  }
}

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

{
  "script": {
    "source": """
      if(ctx._source.tags == null) {
        ctx._source.tags = null;
      }
    """
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...