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

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

但是很多时候10000数据不能满足项目的需求,所以我们就要解除这个限制。解决办法主要有以下几种:

【方式一】(修改完配置文件,需要重启集群中的 ES 服务)

修改Elasticsearch 集群中的 配置文件 **config/elasticsearch.yml,**在配置文件最后增加一行,如下:

bash 复制代码
max_result_window: 200000000

【方式二】针对索引解除限制

针对所有索引解除限制:

bash 复制代码
PUT _all/_settings
{
	"index.max_result_window":200000
}

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

在创建索引时指定配置:

bash 复制代码
"settings":{
		"index":{
			"max_result_window": 500000
		}
 }

**温馨提示:**有可能修改完之后,通过api查询回来的totalhits还是只有10000条,解决如下 :

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

track_total_hits 设置为false禁用跟踪匹配查询的总点击次数,设置为true就会返回真实的命中条数。

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

java 复制代码
searchSourceBuilder.trackTotalHits(true);

kibana 查询:

bash 复制代码
GET 索引名/_search
{
	"query": {
		"match_all": {}
	},
	"track_total_hits":true
}
相关推荐
陈年老古董8 小时前
MediaPipe 姿态检测与脸部关键点检测
笔记·python·opencv·学习·dlib
前沿行业洞察8 小时前
号码认证的终端覆盖为什么重要?——从手机原生到全渠道展示的生态解析
大数据
伞伞悦读8 小时前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Ticnix8 小时前
42 天 71 次提交之后,我重新看了一遍自己的架构决策
python·agent·全栈
JQweryuiop8 小时前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
人工智能培训8 小时前
未来三年,AI 落地的五个确定性判断
大数据·人工智能·学习·生活·ai写作
Elasticsearch8 小时前
Elasticsearch 中的 agentic 工作流:暂停 AI agent 等待人工审批,72 小时后恢复
elasticsearch
Ticnix8 小时前
我调了三个月 overlap=50,它其实一次都没生效
后端·python·agent
DanCheng-studio8 小时前
毕设项目分享 大数据B站数据分析可视化系统
python·毕业设计·毕设
外收内放9 小时前
数据分析(jupyter与pandas初体验)
python·学习