1. 程式人生 > >ElasticSearch最佳入門實踐(五十九)基於scoll技術滾動搜尋大量資料

ElasticSearch最佳入門實踐(五十九)基於scoll技術滾動搜尋大量資料

如果一次性要查出來比如10萬條資料,那麼效能會很差,此時一般會採取用scoll滾動查詢,一批一批的查,直到所有資料都查詢完處理完

使用scoll滾動搜尋,可以先搜尋一批資料,然後下次再搜尋一批資料,以此類推,直到搜尋出全部的資料來
scoll搜尋會在第一次搜尋的時候,儲存一個當時的檢視快照,之後只會基於該舊的檢視快照提供資料搜尋,如果這個期間資料變更,是不會讓使用者看到的。
採用基於_doc進行排序的方式,效能較高
每次傳送scroll請求,我們還需要指定一個scoll引數,指定一個時間視窗,每次搜尋請求只要在這個時間視窗內能完成就可以了

案例

現在有6條資料
在這裡插入圖片描述

每次查兩條
在這裡插入圖片描述

獲得的結果會有一個scoll_id,下一次再發送scoll請求的時候,必須帶上這個scoll_id
在這裡插入圖片描述

scoll,看起來挺像分頁的,但是其實使用場景不一樣。分頁主要是用來一頁一頁搜尋,給使用者看的;scoll主要是用來一批一批檢索資料,讓系統進行處理的