当前位置:   article > 正文

ES设置最大查询条数限制,打破限制,聚合分组数量限制打破_es查询最大限制

es查询最大限制

ES设置最大查询条数限制,打破限制,聚合分组数量限制打破

一、前言

​ 今天在做ElasticSearch进行查询的时候发现,在进行分页的时候,数据超出10000以后得页数,查询的时候会报错。后查询了es官方文档发现,查询数量的默认值10000

官网链接:https://www.elastic.co/guide/en/elasticsearch/reference/7.8/index-modules.html#dynamic-index-settings

index.max_result_window
The maximum value of from + size for searches to this index. Defaults to 10000.
Search requests take heap memory and time proportional to from + size and this limits that memory. 
See Scroll or Search After for a more efficient alternative to raising this.
  • 1
  • 2
  • 3
  • 4

报错内容:

max_result_window is too large
  • 1

二、如何修改最大值限制

  1. Kibana中进行修改,将index_name替换成自己的索引名
// 请求
PUT index_name/_settings
{
    "index" : {
        "max_result_window" : 200000
    }
}
// 响应
{ "acknowledged": true }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  1. 通过API修改
curl -H "Content-Type: application/json" -XPUT 127.0.0.1:9200/index_name/_settings -d '{"index.max_result_window":"200000"}'
  • 1

三、查看修改后的配置

// 请求
GET index_name/_settings
// 响应
{
  "index_name" : {
    "settings" : {
      "index" : {
      	......
        "max_result_window" : "200000", // 修改后的最大限制数量
        ......
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

四、附言,聚合分组最大数量限制如何修改

  1. 由于es最大限制数量为10000,所以在进行聚合分组(Aggregations )的时候,也会有限制影响,但是需要单独修改
// 请求
PUT /_cluster/settings
{
  "persistent": {
    "search.max_buckets": 300000
  }
}
// 响应
{
  "acknowledged" : true,
  "persistent" : {
    "search" : {
      "max_buckets" : "300000"
    }
  },
  "transient" : { }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  1. 修改配置之后,在进行聚合分组设置size值的时候,就可以突破上限了。
  2. 注意:但是只能在当前设置的范围内

后续会持续更新在工作当中遇到的问题!!!

大家一起学习!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/182156
推荐阅读
相关标签
  

闽ICP备14008679号