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
}
相关推荐
源代码杀手2 小时前
【以音频软件FFmpeg为例】通过Python脚本将软件路径添加到Windows系统环境变量中的实现与原理分析
windows·python·音视频
金融OG2 小时前
99.16 金融难点通俗解释:营业总收入
大数据·数据库·python·机器学习·金融
六毛的毛5 小时前
java后端之登录认证
java·开发语言·python
zoney hu6 小时前
Python数据分析-Python语法基础,IPython和Jupyter-Notebooks(二)
python·数据分析
hvinsion7 小时前
Python 轻松扫描,快速检测:高效IP网段扫描工具全解析
网络·python·tcp/ip
计算机徐师兄7 小时前
Python基于Django的宠物服务管理系统(附源码,文档说明)
python·django·宠物·宠物服务·python django·宠物服务管理系统·python宠物服务管理系统
两千连弹7 小时前
机器学习 ---逻辑回归
人工智能·python·机器学习·逻辑回归·numpy
AI很强8 小时前
LLaMA Factory框架微调GLM-4大模型
人工智能·python·llama
蒋大钊!8 小时前
ElasticSearch-文档元数据&乐观并发控制
elasticsearch
Elastic 中国社区官方博客8 小时前
使用 Confluent Cloud 的 Elasticsearch Connector 部署 Elastic Agent
大数据·数据库·elasticsearch·搜索引擎·全文检索·confluent