python 实现分页显示从es中获取的数据方法
更新时间:2018年12月26日 15:28:24 作者:sxf_0123
今天小编就为大家分享一篇python 实现分页显示从es中获取的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
注意:使用该方法,获取的数据总数目不能超过1万,否则出错
#在python3上运行
from elasticsearch import Elasticsearch
from urllib3.connectionpool import xrange
def get_page_data(result):
for hit in result['hits']['hits']:
print(hit)
if __name__=='__main__':
es_host = "0.0.0.0"
port = 9200
timeout = 15000
index = "gather-v10"
es = Elasticsearch(hosts=es_host,port=port,timeout=timeout)
# gather-v10 总条数
count = es.count(index=index)['count']
# 每页显示条数
page_line = 2
#显示多少页
if (count%page_line==0):
page = (int)(count/page_line)
else:
page = (int)(count/page_line+1)
# 要生成很大的数字序列的时候,
# 用xrange会比range性能优很多,
# 因为不需要一上来就开辟一块很大的内存空间。
# x = range(0,10);type(x) 是一个列表
# x1 = xrange(0,10);type(x1) 是一个生成器 xrange(0,10)
for x in xrange(0,page):
rs = es.search(index=index,body={
"query":{
"match_all":{}
},
"from":x*page_line,
"size":page_line
})
get_page_data(rs)
以上这篇python 实现分页显示从es中获取的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python中列表list以及list与数组array的相互转换实现方法
这篇文章主要介绍了Python中list以及list与array的相互转换实现方法,简单分析了Python中list的功能、使用方法及list与array相互转换实现技巧,需要的朋友可以参考下2017-09-09
Python urllib、urllib2、httplib抓取网页代码实例
这篇文章主要介绍了Python urllib、urllib2、httplib抓取网页代码实例,本文直接给出demo代码,代码中包含详细注释,需要的朋友可以参考下2015-05-05
Python计算一个给定时间点前一个月和后一个月第一天的方法
这篇文章主要介绍了Python计算一个给定时间点前一个月和后一个月第一天的方法,涉及Python使用datetime模块计算日期时间的相关操作技巧,需要的朋友可以参考下2018-05-05
Python程序中使用SQLAlchemy时出现乱码的解决方案
这篇文章主要介绍了Python程序中使用SQLAlchemy时出现乱码的解决方案,SQLAlchemy是Python常用的操作MySQL数据库的工具,需要的朋友可以参考下2015-04-04


最新评论