python 实现分页显示从es中获取的数据方法

yipeiwu_com5年前Python基础

注意:使用该方法,获取的数据总数目不能超过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设计】。

相关文章

Python基类函数的重载与调用实例分析

本文实例讲述了Python基类函数的重载与调用方法。分享给大家供大家参考。具体分析如下: 刚接触Python语言的时间不长,对于这个语言的很多特性并不是很了解,有很多用法都是还不知道。今...

python 判断矩阵中每行非零个数的方法

如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @F...

在Django框架中编写Contact表单的教程

虽然我们一直使用书籍搜索的示例表单,并将起改进的很完美,但是这还是相当的简陋: 只包含一个字段,q。这简单的例子,我们不需要使用Django表单库来处理。 但是复杂一点的表单就需要多方面...

Python3 实现串口两进程同时读写

通过两个进程分别读写串口,并把发送与接收到的内容记录在blog中,收到q时程序结束并退出 import threading,time import serial import str...

Python使用指定字符长度切分数据示例

处理思路 笔者在学习时被要求在Python中使用指定字符长度切分数据。 如,string类型的字符串film_type = ‘都市浪漫爱情喜剧',已知电影类型都是两个中文字符组成,要求切...