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
}
相关推荐
Elastic 中国社区官方博客8 分钟前
Elasticsearch 如何通过 synthetic _id 和 Bloom filters 将时序存储降低 34%
大数据·数据库·elasticsearch·搜索引擎·serverless·全文检索·时序数据库
LONGZETECH10 分钟前
架构师实战拆解|无人机智慧实训SaaS中台:断电续考、AI组卷、多端同步核心设计
大数据·人工智能·架构·系统架构·无人机
七老板的blog13 分钟前
从持久化任务到多 Agent 协作
python·学习·ai
jkyy201417 分钟前
大模型重构饮食健康服务链路:多维技术赋能膳食管理智能化升级
大数据·人工智能·信息可视化·重构·健康医疗
一只鹿鹿鹿22 分钟前
信息化项目管理规范(参考Word文件)
java·大数据·运维·开发语言·数据库
XGeFei26 分钟前
python中子线程与主线程的关系
开发语言·python
Chase_______29 分钟前
【Java杂项】final 关键字详解:变量、方法、类限制与引用可变性
java·开发语言·python
TAOCARTS00133 分钟前
反向海淘旺季运营技巧,借助独立站快速拉升店铺单量
大数据·人工智能
我材不敲代码40 分钟前
Python venv 虚拟环境从入门到精通 + uv 高性能替代工具实战指南
开发语言·python·uv
数据仓库_晨曦40 分钟前
【无标题】
大数据·sql·spark