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

Posted zealousness

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从es中拉取全部数据/大量数据 使用scroll+scan避免深分页相关的知识,希望对你有一定的参考价值。

 

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

技术分享图片

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

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

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

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

简单的说就是分页取出

 

第一次请求:

技术分享图片

 

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

技术分享图片

 

 

参考:

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

 

以上是关于从es中拉取全部数据/大量数据 使用scroll+scan避免深分页的主要内容,如果未能解决你的问题,请参考以下文章

从数据库中拉取跨域数据

Flink是如何从kafka中拉取数据的

jQuery 自动完成从 Mysql 数据库中拉取

在 Angular 中拉取和订阅 firebase 数据

filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据

SQL 查询只从一张表中拉取数据