文章目录
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