设置es的返回数量超过10000条限制

这篇具有很好参考价值的文章主要介绍了设置es的返回数量超过10000条限制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

ElasticSearch官方默认限制索引查询最多只能查询10000条数据,查询第10001条数据开始就会报错:

"reason”:"Result window is too large,from + size must be less than or equal to: [10000] but was [12000]

原因分析

elasticsearch中max_result_window有上限限制:默认10000。

解决方案

第一种解决方案

1.在请求时解除限制

设置查询最大上限20000

PUT _all/_settings

{
  "index.max_result_window": 20000
}

2.代码中解除限制并且设置最大返回值

在查询时候把 track_total_hits 设置为 true。

track_total_hits 设置为false禁用跟踪匹配查询的总点击次数

设置为true就会返回真实的命中条数。

        SearchSourceBuilder query = new SearchSourceBuilder();
        query.trackTotalHits(true);
        query.trackTotalHitsUpTo(20000);
        query.query(integratedQueryBuilder(searchConditionJson));

 3.在使用工具访问时添加track_total_hits设置

GET 索引名/_search
{
  "query": {
    "match_all": {}
  },
  "track_total_hits": true
}

 第二种解决方案

在创建索引时添加最大上限设置

{
  "settings": {
    "index": {
      "max_result_window": 20000
    }
  }
}

使用这种方式代码撰写时也要和第一种一样在代码中限制保持一致 文章来源地址https://www.toymoban.com/news/detail-448624.html

到了这里,关于设置es的返回数量超过10000条限制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch 10000条查询数量限制

    我们将库存快照数据导入ES后发现要分页查询10000条以后的记录会报错,这是因为ES通过index.max_result_window这个参数控制能够获取数据总数from+size最大值,默认限制是10000条,因为ES考虑到数据要从其它节点上报到协调节点如果搜索请求的数据越多,会导致ES协调节点占用的堆内

    2024年02月06日
    浏览(28)
  • ES设置最大查询条数限制,打破限制,聚合分组数量限制打破

    ​ 今天在做 ElasticSearch 进行查询的时候发现,在进行分页的时候,数据超出10000以后得页数,查询的时候会报错。后查询了 es 官方文档发现,查询数量的默认值是 10000 ; 官网链接:https://www.elastic.co/guide/en/elasticsearch/reference/7.8/index-modules.html#dynamic-index-settings 报错内容: 在

    2024年02月03日
    浏览(27)
  • SQL拦截:想要限制每次查询的结果集不能超过10000行,该如何实现?

    实践出真知,欢迎关注我的公众号:Hoeller 对于一些Saas化软件,当某个租户在执行查询SQL时,如果查询条件出现了BUG,导致去查了所有租户的数据,这种情况是非常严重的,此时就需要在架构层面做限制,禁止一些特殊SQL的执行,另外,为了保护数据库,也可能会限制某些查

    2024年02月05日
    浏览(28)
  • Elasticsearch 7 以上版本显示hits.total超过10000条设置

    添加rest_total_hits_as_int=true即可   需要在sql里面添加  /*! TRACK_TOTAL_HITS(true) */ 或者用 /*! TRACK_TOTAL_HITS(10001) */ 直接限制记录数量查询即可  请求地址 http://172.21.72.165:9200/_nlpcn/sql 请求头 Content-Type:application/json Authorization:Basic ZWxhc3RpYzoxMjM0NTY= 请求入参 {     \\\"sql\\\": \\\"select /*! TRACK_TO

    2024年02月03日
    浏览(29)
  • Elasticsearch分页搜索数量不能超过10000的解决This limit can be set by changing the [index.max_result_window] index

    开发环境:  JDK1.8、Elasticsearch7.3.1、RestHighLevelClient 问题:  最近在通过Java客户端操作ES进行分页查询(from+size)时,分页获取满足条件的数据和总数。发现满足条件的数据总数一旦超过10000条,使用SearchResponse的getHits().getTotalHits().value返回的结果永远是10000。为什么会被限制只能搜

    2024年02月04日
    浏览(28)
  • FD_SET设置的文件描述符超过1024引发coredump

    在开发过程中,遇到一个coredump的问题,最后排查到是FD_SET的文件描述符大于1023 2、开始执行 这种问题就更坑人了,并不是只要超过1023就会必现,到1200就快复现了 3、gdb调试 这里还好,最起码gdb报的行数是在36,在FD_SET这行,在自己的开发环境就没这么好了 3、内核里面 FD

    2024年02月13日
    浏览(38)
  • java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制。

    (1)首先我们要明白es的查询机制:ES的搜索是分2个阶段进行的,即 Query阶段和Fetch阶段 。 Query阶段 比较轻量级,通过查询倒排索引,获取满足查询结果的文档ID列表。 Fetch阶段 比较重,需要将每个分片的查询结果取回,在协调结点进行 全局 排序。 通过From+size这种方式分批

    2024年02月03日
    浏览(69)
  • 解决ES只能查询10000条数据的问题

    这篇文章是翻译过来的,原文在此,需要科学上网。 当查询页很深或者查询的数据量很大时,深查询就会出现。es 的自我保护机制允许的一次最大查询量是 10000 条数据。在请求中加入 trackTotalHits(true) 可以解除10000条的上限。 from size 这种实现方式有点类似于 MySQL 中的 limit。

    2024年02月12日
    浏览(23)
  • Elasticsearch 查询超过10000 的解决方案 - Python

    法1:修改 设置 max_result_size (不推荐) 法2: scroll 分页 法3: search_after 分页 还有一个方法是在参考文章2里面提到的 track_total_hits ,但是我测试的时候没起作用,目前还不太清楚原因。。。 我看参考文章里说到search_after 分页要比scroll快,但是在我的数据上是scroll要快很多,

    2024年01月23日
    浏览(40)
  • 解决 Elasticsearch 分页查询记录超过10000时异常

    查询结果中 hits.total.value 值最大为10000的限制 解决方法: 1、 请求设置rest_total_hits_as_int=true 注意参数需要放在请求头上 2、修改setting的值  

    2024年02月07日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包