首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >弹性搜索聚合查询抛出异常

弹性搜索聚合查询抛出异常
EN

Stack Overflow用户
提问于 2020-03-13 22:04:53
回答 1查看 199关注 0票数 0

在查询elastic search aggregate查询时,我得到“尝试创建太多的存储桶。b必须小于或等于10000,但找到10001”。

我们如何处理这个异常呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-13 23:39:15

this链接中所述,search.max_buckets的默认限制是10000

设置这样的限制的全部意义在于防止一些新手用户意外地运行耗费大量时间和资源的聚合查询,这可能会导致性能问题,或者在更糟糕的情况下,导致ES节点崩溃。

但是,如果您想要更改该设置,有两种方法可以实现。

解决方案1:更改elasticsearch.yml (需要重启节点)

您需要转到集群中所有节点的elasticsearch.yml,并在其中添加以下值:

search.max_buckets = 10500

保存文件并重新启动节点。

解决方案1:集群API (无需重启)

或者,我相信您可以使用cluster API并将设置添加到persistent cluster settings中,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
PUT /_cluster/settings
{
  "persistent": {
    "search.max_buckets": 12000
  }
}

由于该设置似乎是群集范围的,因此我建议使用Solution 2

这就是为什么你想让存储桶返回10k以上的存储桶的原因。如果您更改了设置,以便在真实环境中不会开始看到性能问题,那么也要进行彻底的测试,如果这样做了,这是您要记住的第一件事。

如果这能帮助您解决问题,请让我知道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60671904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档