从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

时间:2025-04-05 14:05:02

es一次请求默认返回的数据条数是10条,可以通过设置size参数来控制返回数据的条数:

从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

如果要返回很多数据,可以把size设置的很大,不过elastic search默认size最大不能超过1万。

那么如果数据量很大,超过1万,而又想要把所有数据都拉出来怎么办呢?

有三种方法:聚合,修改es的size的默认最大值,scroll+span

这里只讲我认为最好的方法:scroll+span

简单的说就是分页取出

第一次请求:

从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

以后的请求(以后的请求默认带着第一次请求的参数):

从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html

https://blog.****.net/wild46cat/article/details/64123353

https://blog.****.net/fanxing1964/article/details/79366399