1. 程式人生 > >從es中拉取全部數據/大量數據 使用scroll+scan避免深分頁

從es中拉取全部數據/大量數據 使用scroll+scan避免深分頁

數據量 技術 blog nbsp 怎麽辦 聚合 超過 不能 current

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避免深分頁