摘要:游標(biāo)查詢查詢,可以用于對(duì)有效地執(zhí)行大批量的文檔查詢,而又不用付出深度分頁(yè)那種代價(jià)。啟動(dòng)游標(biāo)查詢其中的表示游標(biāo)查詢窗口保持分鐘,如果一次取的數(shù)據(jù)量大可以設(shè)置為一個(gè)大一些的時(shí)間。完整代碼用獲取所有數(shù)據(jù)的完整代碼如下過(guò)濾的每次取的數(shù)據(jù)量
游標(biāo)查詢
scroll查詢,可以用于對(duì) Elasticsearch 有效地執(zhí)行大批量的文檔查詢,而又不用付出深度分頁(yè)那種代價(jià)。 scroll查詢可以分為以下兩個(gè)步驟。
啟動(dòng)游標(biāo)查詢
GET /host/_search?scroll=1m
其中的scroll=1m表示游標(biāo)查詢窗口保持1分鐘,如果一次取的數(shù)據(jù)量大可以設(shè)置為一個(gè)大一些的時(shí)間。
返回的字段中包含一個(gè)scroll_id, 接下來(lái)用這個(gè)字段可以獲取后續(xù)值。
循環(huán)獲取
循環(huán)獲取余下的值
GET /_search/scroll { "scroll": "1m", "scroll_id" : scroll_id }
通過(guò)上一步得到的scroll_id,獲取余下的值。
完整代碼用Python獲取所有數(shù)據(jù)的完整代碼如下
def get_all_es_data(url): # 過(guò)濾的query query = {} data = [] # 每次取的數(shù)據(jù)量 size = 10000 scroll_id = None try: while size == 10000: if not scroll_id: query["size"] = 10000 curr_url = url + "/_search?scroll=8m" response = requests.post(curr_url, json.dumps(query), headers={"content-type": "application/json"}) else: curr_url = url + "_search/scroll?scroll=8m&scroll_id=" + scroll_id response = requests.get(curr_url) if response: response = json.loads(response.text) scroll_id = response["_scroll_id"] response_data = [doc["_source"] for doc in response["hits"]["hits"]] data.extend(response_data) except Exception as err: pass
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45172.html
摘要:那就在進(jìn)入到數(shù)據(jù)庫(kù),看看。查詢數(shù)據(jù)在前面操作的基礎(chǔ)上,如果要從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù),當(dāng)然也可以用指針來(lái)操作了。從操作中看出來(lái)了,已經(jīng)將數(shù)據(jù)庫(kù)中第二條的用戶名修改為了,用的就是語(yǔ)句。不過(guò),要真的實(shí)現(xiàn)在數(shù)據(jù)庫(kù)中更新,還要運(yùn)行這就大事完吉了。 回顧一下已有的戰(zhàn)果:(1)連接數(shù)據(jù)庫(kù);(2)建立指針;(3)通過(guò)指針插入記錄;(4)提交將插入結(jié)果保存到數(shù)據(jù)庫(kù)。在交互模式中,先溫故,再知新。 >>> ...
摘要:分布式架構(gòu)原理設(shè)計(jì)的理念就是分布式搜索引擎,底層實(shí)現(xiàn)還是基于的,核心思想是在多態(tài)機(jī)器上啟動(dòng)多個(gè)進(jìn)程實(shí)例,組成一個(gè)集群。 es分布式架構(gòu)原理 elasticsearch設(shè)計(jì)的理念就是分布式搜索引擎,底層實(shí)現(xiàn)還是基于Lucene的,核心思想是在多態(tài)機(jī)器上啟動(dòng)多個(gè)es進(jìn)程實(shí)例,組成一個(gè)es集群。一下是es的幾個(gè)概念: 接近實(shí)時(shí)es是一個(gè)接近實(shí)時(shí)的搜索平臺(tái),這就意味著,從索引一個(gè)文檔直到文檔...
閱讀 1905·2021-11-23 09:51
閱讀 1549·2021-11-19 09:40
閱讀 3221·2021-11-11 11:01
閱讀 1120·2021-09-27 13:34
閱讀 1852·2021-09-22 15:56
閱讀 2136·2019-08-30 15:52
閱讀 1071·2019-08-30 14:13
閱讀 3487·2019-08-30 14:10