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
}
相关推荐
天天进步201513 小时前
Python全栈项目--智能远程医疗系统
开发语言·python
落地加湿器13 小时前
从Hermes cli的源代码中学习skill
人工智能·python·学习·智能体·源码解读
RSTJ_162513 小时前
PYTHON+AI LLM DAY SIXTY-SEVEN
开发语言·python
@zulnger13 小时前
WebDriver API及对象识别技术
笔记·python·selenium
狒狒热知识13 小时前
赋能线下实体数字化转型178软文网GEO运营助力突破地域客源限制
大数据·人工智能
汉知宝科技13 小时前
知识产权管理中的流程自动化:从人工操作到系统智能
大数据·运维
Wonderful U13 小时前
基于Python+Django的文件预览与转换系统:从架构设计到完整实现
后端·python·django
可乐ea13 小时前
【知识获取与分享社区项目 | 项目日记第 23 天】项目梳理下篇:高并发与最终一致性复盘:Redis、Kafka、Outbox、ES 与 RAG 如何协同
java·redis·mysql·elasticsearch·缓存·ai·kafka
copyer_xyf14 小时前
Python 类全面总结
前端·后端·python
智慧景区与市集主理人14 小时前
巨有科技乡村农文旅景区智慧建设|轻量化升级,激活乡村文旅长效增收动能
大数据·科技