python elasticsearch scroll scan 滚动 翻页

from elasticsearch import Elasticsearch
es = Elasticsearch([
        'http://conf:9200/'
    ])
page = es.search(
    index ='ware_index',
    doc_type ='ware_type',
    scroll ='2m',
    search_type ='scan',
    size =1000,
    body ={
        "query":{
            "match_all":{}
        },
        "filter":{
            "term":{
                "shop":"230"
            }
        }
    }
)

sid = page['_scroll_id']
scroll_size = page['hits']['total']
 
# Start scrolling
while(scroll_size >0):
    print "Scrolling..."
    page = es.scroll(scroll_id = sid, scroll ='2m')
    # Update the scroll ID
    sid = page['_scroll_id']
    # Get the number of results that we returned in the last scroll
    scroll_size = len(page['hits']['hits'])
    print "scroll size: "+ str(scroll_size)
    # Do something with the obtained page

原文链接:https://www.jianshu.com/p/6f873488124c

你可能感兴趣的:(python,elasticsearch)