elasticsearch scroll查询


elasticsearch scroll查询

 

一般的分页查询请求:from、size、n(主分片数)

请求会分发到对应主分片或者副本分片上,分片向协调节点返回(from+size)条数据,n个分片共返回数据(from+size)*n条数据;

协调节点对数据进行排序,然后向客户端返回from到from+size之间的数据

 

scroll查询:如果要查询100页数据,每页数据100条,则需重复上述过程100次,且随着from的增大,查询效率会越来越慢,使用scroll查询只要一次查询,查询过程:

每个分片返回10000条数据,协调节点共接收数据10000*n条;

协调节点对数据排序后,返回前10000条数据给客户端

 

 

********************

相关类与接口

 

ElasticsearchRestTemplate:操作类

public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate implements ElasticsearchOperations, EsClient<RestHighLevelClient>, ApplicationContextAware {

    public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz) {
    public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class<T> clazz) {
    public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz, SearchResultMapper mapper) {
    public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQuery, Class<T> clazz, SearchResultMapper mapper) {

    public <T> ScrolledPage<T> continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class<T> clazz) {
    public <T> ScrolledPage<T> continueScroll(@Nullable String scrollId, long scrollTimeInMillis, Class<T> clazz, SearchResultMapper mapper) {

    public void clearScroll(String scrollId) {

 

ScrolledPage:scroll分页

public interface ScrolledPage<T> extends Page<T> {

    String getScrollId();
}

 

Page:分页

public interface Page
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值