es to dataframe with python


1. es to dataframe in jupyter

  • 基本的にesでデータを受信する場合、数量は10000個に制限される
  • は、性能上の理由で、基本設定が10000個、
  • に制限されている可能性があります.
  • には様々な方法がありますが、主に使用されているsearch afterを紹介します.
  • クエリーは
  • 種類です.
  • data = {"match_all":{}}
    sort = {"_id":{"order":"asc"}}
    body = {'from':0, 'size':10000,"query":data,"sort":sort}
    results = es.search(index='datalake_market_category_matching', body=body)
    print(len(results['hits']['hits']))
    
    result = results['hits']['hits']
    df = json_normalize(result)
    df.tail()
  • 結果
  • の結果値でsort値を検索し、search afttの値として検索します.
  • data = {"match_all":{}}
    sort = {"_id":{"order":"asc"}}
    body = {'from':0, 'size':10000,"query":data, "search_after":["1yGOmnYBnb2QtO2Afr5Q"],"sort":sort}
    results = es.search(index='datalake_market_category_matching', body=body)
    print(len(results['hits']['hits']))
    
    result = results['hits']['hits']
    df2 = json_normalize(result)
    df2.head()
    クエリーは、
  • の初期ソート値の最後の行から開始します.
  • Reference


    https://wedul.site/541