Elasticsearch——Scroll

目录

Request

先决条件

描述

路径参数

查询参数

Request body

Search Scroll Api

Initialize the search scroll context

检索所有相关文档

Clear the scroll context

可选参数

同步执行

异步执行

Response

完整的例子


背景:因为在开发过程中有个拉取数据的需求,数据都存在es中,刚开始用了分页查询,但是超过10000数据量之后报错。所以需要学习滚轮查询来解决该问题。

ES官方不再建议使用ScrollAPI进行深度分页。如果在分页超过10000次点击时需要保留索引状态,请使用带有时间点(PIT)的search_after参数。

检索滚动搜索的下一批结果。

GET /_search/scroll
{
  "scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ=="
}

Request

GET /_search/scroll/<scroll_id> Deprecated in 7.0.0.

GET /_search/scroll

POST /_search/scroll/<scroll_id>Deprecated in 7.0.0.

POST /_search/scroll

先决条件

如果启用了Elasticsearch安全功能,则必须对目标数据流、索引或别名具有读取索引权限。

描述

我们可以使用scroll api从单个滚动搜索请求中检索大量结果。

scroll API需要滚动ID。若要获取滚动ID,请提交包含滚动查询参数参数的搜索API请求。scroll参数指示Elasticsearch应该为请求保留搜索上下文多长时间。

搜索响应在_scroll_id response body参数中返回一个scroll ID。然后,我们可以使用scroll ID和scroll API来检索请求的下一批结果。如果启用了Elasticsearch安全功能,则对特定滚动ID的结果的访问将仅限于提交搜索的用户或API密钥。

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

请参阅滚动搜索结果。

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

路径参数

<scroll_id>

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

滚动ID可以很长。我们建议只使用scroll_id request body参数指定scroll id。

查询参数

scroll

(可选,时间值)保留滚动搜索上下文的时间段。

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

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

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

scroll_id

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

rest_total_hits_as_int

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

Request body<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值