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
}
相关推荐
nanawinona8 小时前
2026年下半年量化学习,不同基础要查不同缺口
人工智能·python
CTA量化套保8 小时前
最新量化表达入门,从概念规则到简单实现
人工智能·python
TechEdu2026069 小时前
[计算机科学]大数据硬件架构与软件架构概览
大数据·计算机科学
爱莉希雅&&&9 小时前
elasticsearch+kibana+logstash+filebeat链路部署流程
大数据·elasticsearch·搜索引擎·kibana·logstash·filebeat
吃饱了得干活9 小时前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
ikun_文9 小时前
Python进阶—函数编程
python·pycharm
FII工业富联科技服务9 小时前
从灯塔工厂到AI Factory新模式:AI正在重构制造业的四大核心能力
大数据·运维·人工智能·重构·ar·制造
小五传输9 小时前
自主可控建设指南:Serv-u替代方案,实现平滑迁移业务不中断
大数据·运维·安全
MC皮蛋侠客9 小时前
uv 系列(三):依赖、锁文件与环境同步——可重复构建的核心
python·uv
Spey_Events9 小时前
【核心议题发布】聚焦深度维修与 AI 智慧革新!2026中国民用航空维修智造展——议题重磅发布!
大数据·人工智能