Скрипт массового обновления Elasticsearch-py с запросом?

#elasticsearch #elasticsearch-py

#elasticsearch #elasticsearch-py

Вопрос:

Я хотел бы использовать API массового обновления со сценарием, но я хотел бы применить обновление с помощью запроса, а не идентификатора.

Стандартная полезная нагрузка массового обновления выглядит примерно так-

 {
  "_index": "users",
  "_type": "user",
  "_op_type": "update",
  "_id": "123",
  "script": { ... }
}
  

Но я хотел бы вместо этого заменить _id свойство запросом-

 {
  "_index": "users",
  "_type": "user",
  "_op_type": "update",
  "_query": {"query": {"range": {"age": {"gte": 30}}}},
  "script": { ... }
}
  

Возможно ли это с помощью API массового обновления? Нужно ли запускать это как стандартное обновление через запрос api скрипта?

Ответ №1:

Я не думаю, что это возможно с помощью bulk API. Я думаю, вам действительно нужен метод update_by_query. Для получения более подробной информации ознакомьтесь с примерами в документации.