目录
一、前言
ES的分页常见的主要有三种方式:from+size浅分页、scroll深分页、search_after分页。
二、from+size浅分页
查询步骤如下:
(1)、先对关键字进行分词;
(2)、将词进行检索,得到多个文档的id;
(3)、去各个分片中拉取指定的数据【会耗时长】;
(4)、在协调节点上汇总各个分片数据,且按照score排序【会耗时长】;
(5)、根据from、size值,截取满足条件的查询数据,返回;
—假若索引有3个分片,那么按照规则,从各个分片各自取指定数量的数据,在协调节点进行汇总,再根据score进行排序,会根据from、size值截取满足条件的数据。
【一般是:如果有的话,各个分页会返回from+size的数据,在协调节点汇总且score排序,在根据from、size值去截取对应数据。】
from+size优点:
每次获取最新的记录;
能够跳页查询;
from+size缺点:
同一个查询,展示另一页查询时,需要重新执行,耗时且耗内存;
E