场景: 下载某一个索引中的一亿条数据
scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只会基于该旧的视图快照提供数据搜索,如果这个期间数据变更,是不会让用户看到的。
每次发送scroll请求,我们还需要指定一个scoll参数,指定一个时间窗口,每次搜索请求只要在这个时间窗口内能完成就可以了。
查询方式:
大致流程:通过scroll方式在1分钟内请求500条数据,得到数据同时会返回一个"_scroll_id",通过"GET /_search/scroll" + "_scroll_id"请求后续数据
# 通过scroll方式请求500条数据
GET /book/_search?scroll=1m
{
"query": {
"match_all": {}
},
"size": 500
}
GET /_search/scroll
{
"scroll": "1m",
"scroll_id": "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFmIydUJSTTlTU25xMlZhWVFJNnUxZXcAAAAAAABYIhY1Ui1ReDRlTlQ5RzBQZXB0cUZTMUl3"
}
标签:search,scoll,GET,分批,id,Elasticsearch,scroll,500
From: https://www.cnblogs.com/l-zl/p/18159315