Elastic-Search scroll(scan) into Pandas DataFrame Elastic-Search scroll(scan) into Pandas DataFrame elasticsearch elasticsearch

Elastic-Search scroll(scan) into Pandas DataFrame


You can use panda's json_normalize.

from pandas.io.json import json_normalizefrom elasticsearch import Elasticsearchfrom elasticsearch.helpers import scan as escanimport pandas as pdes = Elasticsearch(dpl_server, verify_certs=False)body = {  "size": 1000,  "query": {    "match_all": {}  }}response = escan(client=es,                 index="index",                 query=body, request_timeout=30, size=1000)# Initialize a double ended queueoutput_all = deque()# Extend deque with iteratoroutput_all.extend(response)# Convert deque to DataFrameoutput_df = json_normalize(output_all)

Here you can find more info on the double ended queue.