Запрос Elasticsearch для удаления значения удаления из несогласованного массива значений, разделенных запятыми - PullRequest
1 голос
/ 28 октября 2019

Недавно я опубликовал следующую информацию о добавлении строки в существующие (несовместимые) массивы в документах: Запрос ElasticSearch для заполнения или добавления значения в поле

Помеченное решение работаетотлично.

Но теперь мне нужно понять, как удалить один из 5-значных кодов из массивов. Предполагая, что теперь мне нужно удалить код «ABCDE» из документов, оставив другие коды в массиве без изменений, как будет выглядеть этот запрос?

1 Ответ

1 голос
/ 29 октября 2019

В приведенном ниже скрипте я перебираю массив и создаю список, удаляя указанное значение.

Пожалуйста, проверьте перед запуском на реальных данных.

{
  "script": {
    "source": "ctx._source.customCategories.removeAll(Collections.singleton(params.catg))",
    "lang": "painless",
    "params": {
      "catg": "c"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...