日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python 用scroll查詢大量es數(shù)據(jù)

系統(tǒng) 3371 0

游標(biāo)查詢

          
            scroll查詢,可以用于對 Elasticsearch 有效地執(zhí)行大批量的文檔查詢,而又不用付出深度分頁那種代價。
scroll查詢可以分為以下兩個步驟。


          
        

啟動游標(biāo)查詢

          
            GET /host/_search?scroll=1m
          
        

其中的 scroll=1m 表示游標(biāo)查詢窗口保持1分鐘,如果一次取的數(shù)據(jù)量大可以設(shè)置為一個大一些的時間。
返回的字段中包含一個 scroll_id , 接下來用這個字段可以獲取后續(xù)值。

循環(huán)獲取

循環(huán)獲取余下的值

          
            GET /_search/scroll
{
    "scroll": "1m", 
    "scroll_id" : scroll_id
}
          
        

通過上一步得到的 scroll_id ,獲取余下的值。

完整代碼

用Python獲取所有數(shù)據(jù)的完整代碼如下

          
            def get_all_es_data(url):
    # 過濾的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
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 宣化县| 牡丹江市| 镇江市| 定边县| 灵台县| 万山特区| 盐山县| 微博| 福海县| 秦安县| 保山市| 隆安县| 东台市| 闽侯县| 民和| 务川| 额济纳旗| 广水市| 嘉定区| 江北区| 台南市| 平湖市| 芦溪县| 宜宾县| 万载县| 定结县| 竹山县| 资源县| 阿克苏市| 建平县| 柘荣县| 潞城市| 轮台县| 扎囊县| 公安县| 南皮县| 珠海市| 成都市| 永安市| 县级市| 怀宁县|