Elasticsearch 解决只能查询10000条数据方案

Elasticsearch 解决只能查询10000条数据方案

es官方默认限制索引查询最多只能查询10000条数据,查询第10001条数据开始就会报错:

Result window is too large, from + size must be less than or equal to

但是很多时候10000数据不能满足项目的需求,所以我们就要解除这个限制。

解决方案:

第一种办法.在kibana中执行,解除索引最大查询数的限制

put _all/_settings

{

"index.max_result_window":200000

}

_all表示所有索引,针对单个索引的话修改成索引名称即可

第二种办法:在创建索引的时候加上

“settings”:{

"index":{

"max_result_window": 500000

}

}

但是修改完之后,通过api查询回来的totalhits还是只有10000条,解决如下 :

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

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

设置为true就会返回真实的命中条数。

java代码在构建条件时候加上:

searchSourceBuilder.trackTotalHits(true);

kibana查询

GET 索引名/_search

{

"query": {

"match_all": {}

},

"track_total_hits":true

}

相关推荐

狼獾和蜜獾哪个厉害 类似表亲都是战斗力十足的扛把子
365app最新版安卓下载

狼獾和蜜獾哪个厉害 类似表亲都是战斗力十足的扛把子

📅 06-28 👁️ 7049
Win11怎么设置屏幕时间
be365是否安全

Win11怎么设置屏幕时间

📅 06-28 👁️ 4694
那些被迈克尔学摇滚乐队翻唱的中文歌曲
365app最新版安卓下载

那些被迈克尔学摇滚乐队翻唱的中文歌曲

📅 06-28 👁️ 4486