1. 程式人生 > >es學習之分頁

es學習之分頁

es中的分頁是使用fromsize來控制的,如下語句:

GET account/index/_search
{
 "from": 0,"size": 1
}

從索引0開始,查詢一條資料。

es分頁原理:

若es存在三個shard,每個shard存在2000條資料,當我想要取得所有資料中的第990到999條資料時,我需要分別從三個shard中的遍歷前999條資料,將資料返回給承接請求的那個節點,然後該節點再計算出990到999之間的資料,返回結果。

可以看出當請求的資料越深,那麼此時的計算量就越大,所以消耗的時間也很長,儘量不要使用分頁查詢,直接根據資料的id值進行查詢效率會更高。

scroll_id的方式僅適用於一次性需要返回全部資料的場景,scroll_id產生的快照將有利於資料的查詢,但是不適用於展示資料用的資料分頁。

scroll_id的解決方式:

GET account/index/_search?scroll=1m
{
  "from": 0,
  "size": 1
}

會返回一個scroll_id,想要從該記錄接著向下查需要拿到該記錄的scroll_id,快照是有時間限制的,若指定時間內不適用,該快照就會失效。

GET _search/scroll
{
  "scroll":"1m",
  "scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAIfFi1uM01OTFhrUl8yanBSWlhKdmM4eWcAAAAAAAACIxYtbjNNTkxYa1JfMmpwUlpYSnZjOHlnAAAAAAAAAiAWLW4zTU5MWGtSXzJqcFJaWEp2Yzh5ZwAAAAAAAAIhFi1uM01OTFhrUl8yanBSWlhKdmM4eWcAAAAAAAACIhYtbjNNTkxYa1JfMmpwUlpYSnZjOHln"
}

相關推薦

es學習

es中的分頁是使用from,size來控制的,如下語句: GET account/index/_search {  "from": 0,"size": 1 } 從索引0開始,查詢一條資料。 es分頁原理: 若es存在三個shard,每個shard存在2000條資料

Django學習

1>資料批量插入     網站內容記錄很多,必然要分頁顯示,比如100條資料,每頁顯示10條,那麼總共就有10頁,點選對應的頁籤,則     顯示相應的內容,實現這個需求之前,我們先看怎麼對mysql批量插入資料,     一個方法,for迴圈再插入,如下,

SpringBoot學習筆記10——spring-data-jpa查詢

今天我們來學習一下spring-data-jpa的分頁查詢的實現 在上次初探JPA之後我們接下來學習分頁查詢,本篇部落格是接上一篇的,如果有需要了解jpa配置的話可以看上一篇部落格https://blog.csdn.net/lp840312696/article/details/83549937

Bootstrap學習日記1

分頁是什麼?   分頁是往往一個頁面索要顯示的內容太多,無法用一頁表示,那麼我們就會對該頁面進行分頁,在頁面的一個部位,做一個"1-2-3-4"等的連線數字表示頁,如果還不明白請直接看例子 建立分頁 建立一個帶有class="pagination"的無序列表 通過&l

計算機原理學習(6)-- x86-32 CPU和記憶體管理管理

前言 上一篇我們瞭解了x86-16 CPU計算機的記憶體訪問方式,定址方式,以及基於MS-DOS的應用程式的記憶體佈局。這一篇會主要介紹32位處理器的記憶體訪問,記憶體管理以及應用程式的記憶體佈局。雖然目前64位CPU已經非常普及了,不過相對於32位的記憶體管理方式並沒

Linux內存尋址機制

緩存 itl ans linux 存儲器 apt target tar linux中 http://blog.xiaohansong.com/2015/10/05/Linux內存尋址之分頁機制/ 在上一篇文章Linux內存尋址之分段機制中,我們了解邏輯地址通過分段機制轉換為

CSS學習簡單布局

black jquery ack span lac 跟著 code header contain 作為一個PHPer,在前端方面javascript、jquery這些的日常工作還搞的定。可對於div+css這些東西可就頭疼了,所以現在開始學習CSS 跟著燕十八的教程開始從

day18-2-django和session

特征 request 客戶 .site none func pytho 控制 render Django-4 知識預覽 分頁器(paginator) COOKIE 與 SESSION 回到頂部 分頁器(paginator) 分頁器的使用 >>

Java EE器設計

net ons 下午 概念 div details mit 產生 log 由於數據庫實訓的課程設計,在做項目過程中,需要使項目更加規範的結構和各層間責任分離。無疑地,分頁器是其中之一。 1. 本文僅陳述分頁器如何實現,關於分頁器的其他概念,請自行搜索其他網絡資源。 2. 關

MyBatis精通功能的實現

avi 一個 冗余 details 結果 nature ann email ret MyBatis精通之路之分頁功能的實現(數組分頁、sql分頁、攔截器,RowBounds分頁) 原創 2017年04月27日 21:34:48 標簽: mybatis / java /

ssm整合bootstrap

java ssm pageHelper 分頁 bootstrap 分頁是我們經常會碰到的需求之一,今天我們就使用企業中很常用的mybatis分頁插件pageHelper來給大家做一個ssm整合bootstrap分頁的案例先看效果圖:一:建立數據庫student:學生表student年級表g

python-django rest framework框架

link 自己實現 -i man model 三種 imp *** efault 1. 以前django做的分頁組件當數據量特別大的時候,性能不是很高,有以下三種方式處理: a. 記錄當前訪問頁的最後一條數據id,往後取多少條 b. 最多顯示1

操作系統筆記(十)內存管理,分段和段

分段式內存管理 筆記 關系 代碼 保護 系統 長度 段頁式內存管理 bit 基本內存管理: 進程占用空間必須連續,導致外部碎片以及附加的compaction 整個進程的swap in 和 swap out十分耗時。 解決:分頁 ->內存空間不必連續,無外部碎片,

Django

Django 分頁一、Django的分頁器(paginator)1、批量導入數據book_list = [] for i in range(100): book_obj = Book(title="Book_%s" % i, price=i * i) book_list.

MySQL(十)DQL查詢

-c lar jpg not 列表 img IE class HERE 一、應用場景 當要查詢的條目數太多,一頁顯示不全 二、語法 select 查詢列表 from 表 limit 【offset,】size; 2.1、註意: ffset代表的是起始的條目索引,默認從0卡死

Springboot整合Mybatis 插件使用

-- 插件 pri git AS set PE AC 一次 1: 引入jar包 <!-- 引入MyBatis分頁插件--> <dependency> <groupId>com.github.pagehelper</group

MongoDB動態條件查詢

實體類 其他 integer att 字符串匹配 uil .class bsp ddc 一、使用QueryByExampleExecutor 1. 繼承MongoRepository public interface StudentRepository extends M

handlebars

是否 ole for body false gate != console form html代碼<!DOCTYPE html><html> Handlebars

django視圖

false 對象 內容 數據 next 分類信息 war 類信息 anon 在網站開發時,肯定會遇到分頁的事情需要處理,在django中也是如此,在Django中處理分頁一般會使用到兩個類django.core.paginator.Paginator和django.core

mysql 查詢

alt mysq style 我只 rom font 分頁 插入 com 分頁查詢(limit 起始行,查詢幾行) 如果 我只想插入 第一第二行的數據 該怎麽做那 select from student limit 0,2; 分頁查詢當前頁數的數據 select *