es滾動(dòng)查詢分析和使用步驟示例詳解
ES在進(jìn)行普通的查詢時(shí),默認(rèn)只會(huì)查詢出來10條數(shù)據(jù)。我們通過設(shè)置es中的size可以將最終的查詢結(jié)果從10增加到10000。如果需要查詢數(shù)據(jù)量大于es的翻頁限制或者需要將es的數(shù)據(jù)進(jìn)行導(dǎo)出又當(dāng)如何?Elasticsearch提供了一種稱為"滾動(dòng)查詢"(Scrolling)的機(jī)制,用于處理大型數(shù)據(jù)集的分頁查詢。滾動(dòng)查詢允許在持續(xù)的時(shí)間段內(nèi)保持一個(gè)活動(dòng)的搜索上下文,然后使用滾動(dòng)ID進(jìn)行迭代檢索結(jié)果。滾動(dòng)查詢和關(guān)系型數(shù)據(jù)庫中的游標(biāo)有點(diǎn)類似,因此也叫游標(biāo)查詢。
滾動(dòng)查詢的一般步驟
1、發(fā)起初始搜索請求,返回命中結(jié)果和滾動(dòng)ID
scroll=5m表示每個(gè)滾動(dòng)查詢的有效時(shí)間為5分鐘
下面例子:
POST /your_index/_search?scroll=5m { "size": 100, // 每次返回的結(jié)果數(shù)量 "query": { ... } // 查詢條件 }
命中結(jié)果:
{
"_scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==",
"hits": {
"total": {
"value": 10000,
"relation": "eq"
},
"hits": [ ... ] // 檢索到的文檔
}
}
示例:
2、使用滾動(dòng)查詢下一頁的結(jié)果:
例子:
POST /_search/scroll { "scroll": "5m", "scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==" }
命中結(jié)果:
3、重復(fù)執(zhí)行直到?jīng)]有檢索結(jié)果返回
Elasticsearch將返回下一頁結(jié)果??梢愿鶕?jù)需要重復(fù)這個(gè)步驟,直到?jīng)]有更多結(jié)果為止,即無數(shù)據(jù)返回為止。
4、清除滾動(dòng)上下文釋放資源
滾動(dòng)查詢結(jié)束后,可以通過發(fā)送一個(gè)清除滾動(dòng)上下文的請求來釋放資源:
DELETE /_search/scroll { "scroll_id": [ "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==" ] }
到此這篇關(guān)于es滾動(dòng)查詢分析和使用步驟的文章就介紹到這了,更多相關(guān)es滾動(dòng)查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何將本地項(xiàng)目上傳到Github的方法步驟(圖文)
這篇文章主要介紹了詳解如何將本地項(xiàng)目上傳到Github的方法步驟(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09idea中實(shí)用的git操作問題小結(jié)(撤回commit,撤回push、暫存區(qū)使用)
我們在開發(fā)過程中經(jīng)常遇到commit代碼后,發(fā)現(xiàn)還有需要修改的地方又不想多次commit,此時(shí)如果不想敲git命令,可以利用idea實(shí)現(xiàn)commit撤回,下面給大家分享idea中實(shí)用的git操作問題小結(jié),感興趣的朋友跟隨小編一起看看吧2024-08-08高性能WEB開發(fā) 為什么要減少請求數(shù),如何減少請求數(shù)!
我們先分析下請求頭,看看每次請求都帶了那些額外的數(shù)據(jù).下面是監(jiān)控的google的請求頭2010-05-05HTML5 拖拽復(fù)制功能的實(shí)現(xiàn)
這篇文章主要介紹了HTML5 拖拽復(fù)制功能的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-09-09VSCode 云同步擴(kuò)展設(shè)置Settings Sync插件
這篇文章主要介紹了VSCode 云同步擴(kuò)展設(shè)置Settings Sync插件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05如何通過阿里云實(shí)現(xiàn)動(dòng)態(tài)域名解析DDNS的方法
這篇文章主要介紹了如何通過阿里云實(shí)現(xiàn)動(dòng)態(tài)域名解析DDNS的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07