API прокрутки
Мы больше не рекомендуем использовать API прокрутки для глубокой постраничной навигации. Если вам нужно сохранить состояние индекса при просмотре более 10 000 результатов, используйте параметр search_after с точкой во времени (PIT).
Возвращает следующую порцию результатов для поиска с прокруткой.
resp = client.scroll(
scroll_id="DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
)
print(resp) const response = await client.scroll({
scroll_id: "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
});
console.log(response); 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/8.17/scroll-api.html