python读取es特定字段数据_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 实现分页显示从es中获取的数据方法

本文地址: http://www.cppcns.com/jiaoben/python/248468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值