Пакеты и запросы_пер_секунды в ElasticSearch Delete By Query API - PullRequest
0 голосов
/ 04 июня 2018

Я читаю здесь API-интерфейс Delete By Query https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html#docs-delete-by-query.

Я не совсем понимаю, как сделать batches и requests_per_second для этого API.Я пытался проверить исходный код https://github.com/elastic/elasticsearch,, но не смог найти правильно связанный код.

Любое объяснение приветствуется.

1 Ответ

0 голосов
/ 04 июня 2018

Delete By Query выдает запросы к вашему индексу.Соответствующие документы удаляются с помощью массовых запросов.Вы можете использовать параметр scroll_size, чтобы установить, сколько документов будет удалено за один массовый запрос - это часто называют «размером пакета».Чтобы ограничить операцию, вы можете установить requests_per_second в положительное десятичное значение.То, как это значение соответствует времени ожидания, объясняется в их документации:

request_per_second может быть установлен на любое положительное десятичное число (1.4, 6, 1000 и т. Д.) И скорость регулирования, с которой _delete_by_query выдает пакеты удаленияоперации, заполнив каждую партию временем ожидания.Регулирование можно отключить, установив значение Applic_per_second равным -1.

Регулирование выполняется путем ожидания между пакетами, чтобы прокрутке, используемой _delete_by_query внутри, можно было задать тайм-аут, учитывающий заполнение.Время заполнения - это разница между размером пакета, деленным на количество запросов_per_second, и временем, потраченным на записьПо умолчанию размер пакета равен 1000, поэтому, если для параметра examples_per_second установлено значение 500:

target_time = 1000/500 в секунду = 2 секунды wait_time = target_time - write_time = 2 секунды - .5 секунд = 1,5 секунды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...