Elasticsearch使用scroll API来分页查询超过10万条数据
- 打开Postman,创建一个新的GET请求,并输入请求URL:
http://localhost:9200/item_wunsche/_search
- 选择Body选项卡,在请求体中选择raw并选择JSON格式,输入以下查询条件:
{
"query": {
"match_all": {}
}
}
发送请求,您将获得xxx索引中所有文档的结果。您可以使用scroll API来分页获取数据,但需要先通过search API获取scroll_id。以下是使用scroll API进行分页查询的例子:
创建一个新的POST请求,并输入请求URL:
http://localhost:9200/item_wunsche/_search?scroll=1m
在请求体中选择raw并选择JSON格式,输入以下查询条件:
{
"query": {
"match_all": {}
},
"size": 1000
}
发送请求,您将获得item_wunsche索引中前1000条数据和一个scroll_id。
复制scroll_id并创建一个新的POST请求,并输入请求URL:
http://localhost:9200/_search/scroll
在请求体中选择raw并选择JSON格式,输入以下查询条件:
{
“scroll”: “1m”,
“scroll_id”: “<您在上一步中复制的scroll_id>”
}
发送请求,您将获得item_wunsche索引中1001到2000条数据和一个新的scroll_id。
重复步骤5和6,直到获取所有数据为止。
需要注意的是,使用scroll API时需要在一定时间内完成所有的分页查询,否则scroll游标将失效。