溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 實現(xiàn)分頁顯示從es中獲取的數(shù)據(jù)方法

發(fā)布時間:2020-09-17 10:43:17 來源:腳本之家 閱讀:196 作者:sxf_0123 欄目:開發(fā)技術

注意:使用該方法,獲取的數(shù)據(jù)總數(shù)目不能超過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 總條數(shù)
  count = es.count(index=index)['count']
  # 每頁顯示條數(shù)
  page_line = 2
  #顯示多少頁
  if (count%page_line==0):
    page = (int)(count/page_line)
  else:
    page = (int)(count/page_line+1)
  # 要生成很大的數(shù)字序列的時候,
  # 用xrange會比range性能優(yōu)很多,
  # 因為不需要一上來就開辟一塊很大的內存空間。
  # 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 實現(xiàn)分頁顯示從es中獲取的數(shù)據(jù)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI