ElasticSearch Scroll API Время соединения - PullRequest
0 голосов
/ 08 апреля 2020

Мы используем версию Elasticsearch 6.8. Я просто хочу использовать Scroll API (https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-request-scroll.html) с прокруткой = 1 м времени соединения. (Например, 1 м, я спрашиваю максимальное значение для x минуты или часа ..)

Что меня интересует, так это время соединения с прокруткой. Если я запрашиваю с помощью scrollId, время соединения сбрасывается, но каково его максимальное время или плохо поддерживать соединение очень долго?

Я хочу использовать scrollId с 1-10 миллионами записей и экспортировать мои документы как партии каждую 1 минуту. В любом случае, если моя система как-то не работает, я хочу продолжить с того места, где остановился, поэтому я хочу использовать свое соединение как можно дольше, если оно не использует дополнительную память или процессор и т. Д. c .. Какое максимальное время Могу ли я сохранить связь и какой она должна быть? Или это должно быть?

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Максимальное значение для сохранения контекста прокрутки составляет 24 часа (24 часа). Этот предел можно изменить, установив настройку кластера «search.max_keep_alive».

Установка большого значения может увеличить нагрузку на осколки.

Из документации

Прокрутка предназначена не для пользовательских запросов в реальном времени, а скорее для обработки больших объемов данных, например, для переиндексации содержимого одного индекса в новый индекс с другой конфигурацией

Из документации

Обычно процесс слияния в фоновом режиме оптимизирует индекс, объединяя меньшие сегменты для создания новых больших сегментов, и в это время меньшие сегменты удаляются. Этот процесс продолжается во время прокрутки, но открытый контекст поиска предотвращает удаление старых сегментов, пока они все еще используются. Таким образом Elasticsearch может возвращать результаты начального поискового запроса независимо от последующих изменений в документах.

Из документации

Поиск контекст автоматически удаляется при превышении времени ожидания прокрутки. Однако сохранение открытых свитков имеет свою стоимость, как обсуждалось в предыдущем разделе, поэтому свитки должны быть явно очищены, как только прокрутка больше не используется с использованием API clear-scroll:

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