Bootstrap

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

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

41dccaa17daec6fae8811141d0051b19.png

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

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

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

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

简单的说就是分页取出

第一次请求:

769eb40785fe9c98cac36b66862125e4.png

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

cfde65e95336f06c5bda6e0236ae70b2.png

参考:

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

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

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

;