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。

解决方案

es默认最大返回数是10000,支持的最大返回数是2^31-1,也就是2147483647,不建议设置太大,query数据时size不要太大,总得考虑内存消耗的,设置了返回max后可以用分页获取, from:num_a, size:num_b,获取的就是num_a+1到num_a+num_b的数据。

Elasticsearch解决只能查询10000条数据以及查询的total为10000条的解决方案相关推荐

  1. sql语句,执行,实现没有这条数据就新增,如有这条数据就修改

    原 sql语句,执行,实现没有这条数据就新增,如有这条数据就修改 2019年09月18日 15:52:24 <span class="read-count">阅读数 5 ...

  2. 测试学习-118-实现大数据平台Es(elasticsearch)1万条数据以上查询

    前言: 大数据平台中Es组件elasticsearch是大数据研发项目经常用的组件,因其能实现快速查询数据的特点而备受受欢迎.但是即便是es前期未配置之前,只能支持1万条数据的响应查询. 最直接表现就 ...

  3. Oracle取排序的第五条数据,OVER(PARTITION BY)函数介绍 【oracle中按A分组按B排序,再取B中第一条数据的查询】...

    目录 一.小案例: school表中有①id 序号②class 班级 ③score成绩 三个字段, 使用oracle实现按照班级分区,然后取班级中的第一名. 1.1测试数据如下: --创建学校表sch ...

  4. mongodb 基于3千万条数据, 查询30万结果集,分页问题

    2019独角兽企业重金招聘Python工程师标准>>> 场景: 1 数据表容量 3千万 2 查询结果集: 30万 3 skip  limit(200) 分页, 存在排序 4 内存控制 ...

  5. mysql pdo 查询一条数据_pdo mysql怎么输出第1条 第4条 第7条数据

    pdo mysql怎么输出第1条 第4条 第7条数据.. 下面是输出全部数据.. query($sql1); while($row = $rs -> fetch()) { echo' '.$ro ...

  6. mysql查询前20条数据_SQL查询排序后前20条语句

    展开全部 SELECT C.D FROM ( SELECT C,D,ROWNUM RN FROM ( SELECT T.* FROM TABLE1 ORDER BY B DESC --降序 ) T1 ...

  7. mysql一张表100亿条数据_一个表有100亿条记录,如何优化

    我们的数据库还在设计阶段.我们预计数据量将会很大,一年的时间里,一张表,就会产生100亿条数据,表结构,如下id,userid,createddate,等等正常情况下,100亿条记录如果都存在一个表里 ...

  8. mysql语句查询今天的数据_mysql查询当天所有数据sql语句

    mysql查询当天的所有信息: select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) a ...

  9. mysql更新多条数据6_mysql语句:批量更新多条记录的不同值

    mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 这里注意 'other_values' 是一个逗号(,)分隔的字 ...

最新文章

  1. mysql定制rpm包_mysql运维管理-企业rpm包的定制
  2. 中国大陆开源镜像站汇总
  3. oracle SQL not in null,单列,复合列
  4. OpenCV 双边滤波
  5. rabbitmq常用的五种模型
  6. 模意义下的FFT算法
  7. U-boot中TFTP 解释
  8. 生成word_Word如何生成目录?3个步骤轻松掌握!
  9. 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
  10. 计算机829大纲,829计算机基础考试大纲
  11. ST-Link驱动安装
  12. NVIDIA CUDA各版本下载链接(包括最新11版本和以往10.2版本)
  13. 受力分析软件_基于非线性分析的建筑结构设计与优化
  14. 牛顿柯特斯公式及复合形式、龙贝格求积公式,高斯勒让德求积公式
  15. 超微服务器只显示raid0,超微主板怎么创建RAID磁盘阵列 服务器组建RAID0、RAID1图文教程...
  16. 傅里叶级数的复数形式
  17. 人工智能:第十一章 自然语言理解
  18. jzoj5935小凯学数学
  19. pb 修改数据窗口种指定字段位置_在PB中控制 数据窗口 列修改属性.doc
  20. js中对象合并的4种方式,数组合并的4种方法

热门文章

  1. DICOM:开源DICOM服务框架DCM4CHE 构建
  2. python神经网络预测股票_用神经网络预测股票市场
  3. 如何用神经网络预测股票趋势?
  4. Java三大特性/四大特性简单理解
  5. 160809310袁韬淳
  6. android指纹解锁动画,Android8.1 SystemUI Keyguard之指纹解锁流程
  7. 小白学习Spring(二)
  8. “万金油”的String,为什么不好用了?
  9. 迅雷下载iso镜像失败(文件重命名失败)
  10. 从两年三次大调整,看滴滴的鲜花和荆棘