Elasticsearch 全量遍歷數據


1,利用分頁,from,to參數,但是當數據量特別大的時候(大約100w),分頁是不現實的,排序排不開。

2,利用scan功能。

上 Python代碼

 1 from elasticsearch import Elasticsearch
 2 from elasticsearch import helpers
 3 
 4    es = Elasticsearch(config['es_server'])
 5 
 6     index_v="teacher-center-single_question_count"
 7     doc_type_v="single_question_count"
 8 
 9     query={"query" : {"match_all" : {}}}
10 
11     scanResp= helpers.scan(client= es, query=query, scroll= "10m", index= index_v , doc_type=doc_type_v , timeout="10m")
12 
13     for resp in scanResp:
14         qid = resp['_id']

 

3,如何取出兩個數組中的 不同的部分

 

def find_diff(a,b):

    common = list(set(a).intersection(set(b)))
    #print common

    alld = list(set(a).union(set(b)))
    #print alld


    diff  = list(set(alld).difference(set(common)))
    #print diff


    return diff

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM