API прокрутки
Мы больше не рекомендуем использовать API прокрутки для глубокой пагинации. Если вам нужно сохранить состояние индекса при прокрутке более чем 10 000 совпадений, используйте параметр search_after с точкой во времени (PIT).
Возвращает следующую партию результатов для поиска с прокруткой.
GET /_search/scroll
{
"scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ=="
} Запрос
GET /_search/scroll/<scroll_id> [7.0.0] Устарел в 7.0.0.
GET /_search/scroll
POST /_search/scroll/<scroll_id> [7.0.0] Устарел в 7.0.0.
POST /_search/scroll
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должна быть
readпривилегия индекса для целевого потока данных, индекса или псевдонима.
Описание
Вы можете использовать API прокрутки для получения больших наборов результатов из одного запроса поиска с прокруткой.
API прокрутки требует идентификатор прокрутки. Чтобы получить идентификатор прокрутки, отправьте запрос к API поиска, который включает аргумент для scroll параметра запроса. Параметр scroll указывает, как долго Elasticsearch должен сохранять контекст поиска для запроса.
Ответ поиска возвращает идентификатор прокрутки в параметре _scroll_id тела ответа. Затем вы можете использовать идентификатор прокрутки с API прокрутки для получения следующей партии результатов для запроса. Если включены функции безопасности Elasticsearch, доступ к результатам определенного идентификатора прокрутки ограничен пользователем или API-ключом, который отправил запрос поиска.
Вы также можете использовать API прокрутки для указания нового параметра scroll, который продлевает или сокращает срок хранения контекста поиска.
См. Поиск с прокруткой.
Результаты поиска с прокруткой отражают состояние индекса на момент первоначального запроса поиска. Последующее индексирование или изменения документов влияют только на последующие запросы поиска и прокрутки.
Параметры пути
-
<scroll_id> -
[7.0.0] Устарел в 7.0.0. (Необязательно, строка) Идентификатор прокрутки поиска.
Идентификаторы прокрутки могут быть длинными. Рекомендуется указывать идентификаторы прокрутки только с помощью
scroll_idпараметра тела запроса.
Параметры запроса
-
scroll -
(Необязательно, единица измерения времени) Период сохранения контекста поиска для прокрутки. См. Поиск с прокруткой.
Это значение переопределяет продолжительность, заданную параметром
scrollисходного запроса к API поиска.По умолчанию это значение не может превышать
1d(24 часа). Вы можете изменить этот предел, используяsearch.max_keep_aliveпараметр на уровне кластера.Вы также можете указать это значение, используя
scrollпараметр тела запроса. Если оба параметра указаны, используется только параметр запроса. -
scroll_id -
[7.0.0] Устарел в 7.0.0. (Необязательно, строка) Идентификатор прокрутки поиска.
Идентификаторы прокрутки могут быть длинными. Рекомендуется указывать идентификаторы прокрутки только с помощью
scroll_idпараметра тела запроса. -
rest_total_hits_as_int - (Необязательно, Булево) Если
true, свойствоhit.totalответа API возвращается как целое число. Еслиfalse, свойствоhit.totalответа API возвращается как объект. По умолчаниюfalse.
Тело запроса
-
scroll -
(Необязательно, единица измерения времени) Период сохранения контекста поиска для прокрутки. См. Поиск с прокруткой.
Это значение переопределяет продолжительность, заданную параметром
scrollисходного запроса к API поиска.По умолчанию это значение не может превышать
1d(24 часа). Вы можете изменить этот предел, используяsearch.max_keep_aliveпараметр на уровне кластера.Вы также можете указать это значение, используя
scrollпараметр запроса. Если оба параметра указаны, используется только параметр запроса.
-
scroll_id - (Обязательно, строка) Идентификатор прокрутки поиска.
Тело ответа
API прокрутки возвращает то же тело ответа, что и API поиска. См. параметры тела ответа API поиска.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/scroll-api.html