滚动 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 需要滚动 ID。要获取滚动 ID,请提交包含 scroll 查询参数 参数的 搜索 API 请求。 scroll 参数指示 Elasticsearch 应保留请求的 搜索上下文 多长时间。

搜索响应在 _scroll_id 响应主体参数中返回滚动 ID。然后,您可以将滚动 ID 与滚动 API 一起使用以检索请求的下一批结果。如果启用了 Elasticsearch 安全功能,则对特定滚动 ID 结果的访问权限将限制为 提交搜索的用户或 API 密钥

您还可以使用滚动 API 指定新的 scroll 参数,以延长或缩短搜索上下文的保留期。

请参阅 滚动搜索结果

滚动搜索的结果反映了初始搜索请求时索引的状态。随后的索引或文档更改只会影响以后的搜索和滚动请求。

路径参数编辑

<scroll_id>

[7.0.0] 在 7.0.0 中已弃用。 (可选,字符串) 搜索的滚动 ID。

滚动 ID 可能很长。我们建议仅使用 scroll_id 请求主体参数 指定滚动 ID。

查询参数编辑

scroll

(可选,时间值) 保留 搜索上下文 以进行滚动的时段。请参阅 滚动搜索结果

此值将覆盖原始搜索 API 请求的 scroll 参数设置的持续时间。

默认情况下,此值不能超过 1d (24 小时)。您可以使用 search.max_keep_alive 集群级设置更改此限制。

您也可以使用 scroll 请求主体参数指定此值。如果同时指定了这两个参数,则仅使用查询参数。

scroll_id

[7.0.0] 在 7.0.0 中已弃用。 (可选,字符串) 搜索的滚动 ID。

滚动 ID 可能很长。我们建议仅使用 scroll_id 请求主体参数 指定滚动 ID。

rest_total_hits_as_int
(可选,布尔值) 如果为 true,则 API 响应的 hit.total 属性将作为整数返回。如果为 false,则 API 响应的 hit.total 属性将作为对象返回。默认为 false

请求主体编辑

scroll

(可选,时间值) 保留 搜索上下文 以进行滚动的时段。请参阅 滚动搜索结果

此值将覆盖原始搜索 API 请求的 scroll 参数设置的持续时间。

默认情况下,此值不能超过 1d (24 小时)。您可以使用 search.max_keep_alive 集群级设置更改此限制。

您也可以使用 scroll 查询参数指定此值。如果同时指定了这两个参数,则仅使用查询参数。

scroll_id
(必需,字符串) 搜索的滚动 ID。

响应主体编辑

滚动 API 返回与搜索 API 相同的响应主体。请参阅搜索 API 的 响应主体参数