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
}
相关推荐
性野喜悲13 小时前
python将excel中的链接转成图片并替换链接展示在excel中【将pdf的第一页插入excel并将对应信息获取到插入签名等位置】
开发语言·python·excel
Marvel__Dead13 小时前
基于 AI 大模型的百度旋转验证识别(通用能力极强)
人工智能·爬虫·python·验证码识别·ai 大模型
Leinwin13 小时前
OpenAI Daybreak实战指南:如何将AI安全检查嵌入你的开发流程
后端·python·flask
monkeyhlj13 小时前
LangChain - V1.0
python·langchain·ai编程
Lucky me.13 小时前
Cloud code完整命令手册
大数据·elasticsearch·搜索引擎
大大大大晴天️13 小时前
Flink:Keyed State vs Operator State 原理与实践
大数据·flink
万岳科技程序员小金13 小时前
大健康私域直播APP开发解决方案:电商直播带货系统源码功能解析
大数据·直播带货软件开发·私域直播系统源码·私域直播平台搭建·私域直播app开发·直播带货平台搭建
云栖梦泽在13 小时前
AI安全入门:AI系统被攻击的常见场景与应对思路
大数据·人工智能·安全
zh路西法13 小时前
【Qwen2.5本地部署】超简单pytorch-gpu部署教程
人工智能·pytorch·python
狐狐生风13 小时前
LangGraph Human-in-the-loop 全解
python·langchain·prompt·langgraph·agentai