zoukankan      html  css  js  c++  java
  • Elasticsearch分页查询

    global index
    global CLIENT
    index = "guajibao-ipused-2019.10.13"
    CLIENT = Elasticsearch(hosts=es_host,port=port,timeout=timeout)
    
    
    
    def load_all_data(scroll_id):
        if scroll_id:
            page = CLIENT.scroll(scroll_id=scroll_id, scroll='10m')
            scroll_id = page['_scroll_id']
        else:
            page = CLIENT.search(index=index, scroll='10m', size=100)
            scroll_id = page['_scroll_id']
        print(page)
        data = page["hits"]['hits']
        return {"data": data, "scroll_id": scroll_id, "length": len(data)}
    
    
    
    
    
    例子
    
    def load_all_data(scroll_id):
        if scroll_id:
            page = CLIENT.scroll(scroll_id=scroll_id, scroll='10m')
            scroll_id = page['_scroll_id']
        else:
            page = CLIENT.search(index=index, scroll='10m', size=100)
            scroll_id = page['_scroll_id']
        # print(page)
        data = page["hits"]['hits']
        total = page['hits']['total']['value']
        print(data)
        return  {"data": data, "scroll_id": scroll_id, "length": len(data), "total": total}
    
    
    
    
    if __name__ == "__main__":
        result = load_all_data(None)
        total =  result['total']
        scroll_id = result['scroll_id']
        for i in range(int(total/100)):
            scroll_id = load_all_data(scroll_id)['scroll_id']


    转至元数据结尾

     

    转至元数据起始

     

    global index
    global CLIENT
    index = "guajibao-ipused-2019.10.13"
    CLIENT = Elasticsearch(hosts=es_host,port=port,timeout=timeout)



    def load_all_data(scroll_id):
        if scroll_id:
            page = CLIENT.scroll(scroll_id=scroll_id, scroll='10m')
            scroll_id = page['_scroll_id']
        else:
            page = CLIENT.search(index=index, scroll='10m'size=100)
            scroll_id = page['_scroll_id']
        print(page)
        data = page["hits"]['hits']
        return {"data": data, "scroll_id": scroll_id, "length"len(data)}

     

     

    例子

    def load_all_data(scroll_id):
        if scroll_id:
            page = CLIENT.scroll(scroll_id=scroll_id, scroll='10m')
            scroll_id = page['_scroll_id']
        else:
            page = CLIENT.search(index=index, scroll='10m'size=100)
            scroll_id = page['_scroll_id']
        # print(page)
        data = page["hits"]['hits']
        total = page['hits']['total']['value']
        print(data)
        return  {"data": data, "scroll_id": scroll_id, "length"len(data), "total": total}




    if __name__ == "__main__":
        result = load_all_data(None)
        total =  result['total']
        scroll_id = result['scroll_id']
        for i in range(int(total/100)):
            scroll_id = load_all_data(scroll_id)['scroll_id']

  • 相关阅读:
    使用IOCP完成端口队列做任务队列
    对Zlib单元进行再封装
    XmlReader/XmlWriter 类
    TextReader/TextWriter 的类
    LINQ to XML
    Xml序列化
    动态Linq(结合反射)
    设计模式总结
    深入了解.Net上下文
    应用程序域
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/11692212.html
Copyright © 2011-2022 走看看