Elasticsearch解决只能查询10000条数据以及查询的total为10000条的解决方案
Elasticsearch官方默认限制索引查询最多只能查询10000条数据,查询第10001条数据开始就会报错:
Result window is too large, from + size must be less than or equal to
但是很多时候10000数据不能满足项目的需求,所以我们就要解除这个限制。
解决方案:
第一种办法:
在restful请求时,解除索引最大查询数的限制
put _all/_settings{"index.max_result_window":200000}
_all表示所有索引,如果针对单个索引的话修改成索引名称即可!!!
第二种办法:
在创建索引的时候加上
"settings":{"index":{"max_result_window": 10000000000}}
但是修改完之后,通过api查询回来的totalhits还是只有10000条???
解决如下 :
在查询时候把 track_total_hits 设置为 true。
track_total_hits 设置为false禁用跟踪匹配查询的总点击次数
设置为true就会返回真实的命中条数。
java代码在构建条件时候加上:
searchSourceBuilder.trackTotalHits(true);
rest请求查询时:
GET 索引名/_search{"query": {"match_all": {}},"track_total_hits":true}
elasticsearch中max_result_window有上限限制:
原因分析
es对from + size的大小进行限制,必须小于等于10000。
解决方案
Elasticsearch解决只能查询10000条数据以及查询的total为10000条的解决方案相关推荐
- sql语句,执行,实现没有这条数据就新增,如有这条数据就修改
原 sql语句,执行,实现没有这条数据就新增,如有这条数据就修改 2019年09月18日 15:52:24 <span class="read-count">阅读数 5 ...
- 测试学习-118-实现大数据平台Es(elasticsearch)1万条数据以上查询
前言: 大数据平台中Es组件elasticsearch是大数据研发项目经常用的组件,因其能实现快速查询数据的特点而备受受欢迎.但是即便是es前期未配置之前,只能支持1万条数据的响应查询. 最直接表现就 ...
- Oracle取排序的第五条数据,OVER(PARTITION BY)函数介绍 【oracle中按A分组按B排序,再取B中第一条数据的查询】...
目录 一.小案例: school表中有①id 序号②class 班级 ③score成绩 三个字段, 使用oracle实现按照班级分区,然后取班级中的第一名. 1.1测试数据如下: --创建学校表sch ...
- mongodb 基于3千万条数据, 查询30万结果集,分页问题
2019独角兽企业重金招聘Python工程师标准>>> 场景: 1 数据表容量 3千万 2 查询结果集: 30万 3 skip limit(200) 分页, 存在排序 4 内存控制 ...
- mysql pdo 查询一条数据_pdo mysql怎么输出第1条 第4条 第7条数据
pdo mysql怎么输出第1条 第4条 第7条数据.. 下面是输出全部数据.. query($sql1); while($row = $rs -> fetch()) { echo' '.$ro ...
- mysql查询前20条数据_SQL查询排序后前20条语句
展开全部 SELECT C.D FROM ( SELECT C,D,ROWNUM RN FROM ( SELECT T.* FROM TABLE1 ORDER BY B DESC --降序 ) T1 ...
- mysql一张表100亿条数据_一个表有100亿条记录,如何优化
我们的数据库还在设计阶段.我们预计数据量将会很大,一年的时间里,一张表,就会产生100亿条数据,表结构,如下id,userid,createddate,等等正常情况下,100亿条记录如果都存在一个表里 ...
- mysql语句查询今天的数据_mysql查询当天所有数据sql语句
mysql查询当天的所有信息: select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) a ...
- mysql更新多条数据6_mysql语句:批量更新多条记录的不同值
mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 这里注意 'other_values' 是一个逗号(,)分隔的字 ...
最新文章
- mysql定制rpm包_mysql运维管理-企业rpm包的定制
- 中国大陆开源镜像站汇总
- oracle SQL not in null,单列,复合列
- OpenCV 双边滤波
- rabbitmq常用的五种模型
- 模意义下的FFT算法
- U-boot中TFTP 解释
- 生成word_Word如何生成目录?3个步骤轻松掌握!
- 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
- 计算机829大纲,829计算机基础考试大纲
- ST-Link驱动安装
- NVIDIA CUDA各版本下载链接(包括最新11版本和以往10.2版本)
- 受力分析软件_基于非线性分析的建筑结构设计与优化
- 牛顿柯特斯公式及复合形式、龙贝格求积公式,高斯勒让德求积公式
- 超微服务器只显示raid0,超微主板怎么创建RAID磁盘阵列 服务器组建RAID0、RAID1图文教程...
- 傅里叶级数的复数形式
- 人工智能:第十一章 自然语言理解
- jzoj5935小凯学数学
- pb 修改数据窗口种指定字段位置_在PB中控制 数据窗口 列修改属性.doc
- js中对象合并的4种方式,数组合并的4种方法