解决Elasticsearch查询默认最大值返回10000

1:问题描述

1:描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

报错:Result window is too large, from + size must be less than or equal to: [10000] but was [10011]. See the scroll api for a more efficient way to request large data sets

2:分析

es官方默认限制索引查询最多只能查询10000条数据,查询第10001条数据开始就会报错:
即使你只是分页查询置查10条

2:解决方案

1:更改当前索引最大查询条数-max_result_window

{
“index”:{
“max_result_window”:2147483647
}
}
在这里插入图片描述
设置完最大条数,就可以查询了
在这里插入图片描述
在这里插入图片描述

2:能查出数据,但是total依然还是1000-更改track_total_hits

在这里插入图片描述

在查询时候把 track_total_hits 设置为 true。

track_total_hits 设置为false禁用跟踪匹配查询的总点击次数

设置为true就会返回真实的命中条数。
在这里插入图片描述

3:当java使用时应该

		SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(boolQueryBuilder);
        searchSourceBuilder.from(10000);
        searchSourceBuilder.size(10);
        searchSourceBuilder.trackTotalHits(true);

4:当利用sql查询时

SELECT  /*! TRACK_TOTAL_HITS(true) */  * FROM user
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苍煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值