es分页查询scroll
时间: 2024-01-12 15:05:25 浏览: 31
scroll是一种在ES中执行分页查询的方法,它使用游标来迭代查询结果,而不是像传统的基于页码的分页查询那样,每次查询都会重新计算结果。
使用scroll方法进行分页查询的一般步骤如下:
1. 执行一次初始查询,包括查询条件、排序方式、需要返回的字段等信息。
2. 在查询结果中获取一个scroll_id,该id用于后续的游标查询。
3. 使用scroll_id执行下一次查询,指定需要返回的文档数量和scroll_id,直到查询结果为空。
以下是一个使用scroll进行分页查询的示例:
```
POST /my_index/_search?scroll=1m
{
"size": 10,
"query": {
"match": {
"title": "foo"
}
}
}
// 初始查询结果
{
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAADwFgFvMnNzYU5mYUgzQXV6QTl4Q2N4Z0EAAAAPABbhbzJzc2FOZmFIM0F1ekE5eENjeGdBAADAAVpuG8tzc2FOZmFIM0F1ekE5eENjeGdBAADAAVp0G8t",
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 100,
"relation": "eq"
},
"max_score": 0.2876821,
"hits": [
{
"_index": "my_index",
"_type": "_doc",
"_id": "1",
"_score": 0.2876821,
"_source": {
"title": "foo",
"body": "bar"
}
},
...
]
}
}
// 使用scroll_id执行下一次查询
POST /_search/scroll
{
"scroll": "1m",
"scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAADwFgFvMnNzYU5mYUgzQXV6QTl4Q2N4Z0EAAAAPABbhbzJzc2FOZmFIM0F1ekE5eENjeGdBAADAAVpuG8tzc2FOZmFIM0F1ekE5eENjeGdBAADAAVp0G8t"
}
// 下一次查询结果
{
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAADwFgFvMnNzYU5mYUgzQXV6QTl4Q2N4Z0EAAAAPABbhbzJzc2FOZmFIM0F1ekE5eENjeGdBAADAAVpuG8tzc2FOZmFIM0F1ekE5eENjeGdBAADAAVp0G8t",
"took": 1,
"timed_out": false,
"hits": {
"total": {
"value": 100,
"relation": "eq"
},
"max_score": 0.2876821,
"hits": [
{
"_index": "my_index",
"_type": "_doc",
"_id": "11",
"_score": 0.2876821,
"_source": {
"title": "foo",
"body": "bar"
}
},
...
]
}
}
```
需要注意的是,scroll_id在每次查询时都会返回,因此在执行后续查询时需要将上一次查询结果中的scroll_id传递给下一次查询。另外,scroll参数用于指定scroll_id的有效时间,如果一个scroll_id在该时间内没有被使用,则会被ES自动清除。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)