我有一个对 elastic 的查询,其中包含总共 8 个嵌套聚合,所有聚合都是term
聚合,除了一个聚合histogram
聚合。如果我删除该直方图聚合,查询将完美运行。但对于直方图聚合,它会抛出这个特定的错误:
此聚合创建了太多存储桶 (10001),并且会抛出异常
未来版本中会出现错误。您应该更新 [search.max_buckets]
cluster 设置或使用 [composite] 聚合对所有进行分页
多个请求中的存储桶。
现在我尝试增加max_buckets
大小,但大小已达到 100000 以上,而且该数字不确定,因此该选项已退出。然后我尝试创建一个composite
按照错误中的建议进行聚合,但添加直方图也会产生相同的错误。
所以我的问题是我是否以错误的方式编写查询,或者弹性不足以创建那么多的存储桶?
基巴纳查询:(只有3层嵌套,原问题有8层)
GET /project/test/_search
{
"query": {
"bool": {
"must": [
{
"range": {
"date" : {
"gte": 20180101,
"lte": 20180630
}
}
}
]
}
},
"size": 0,
"aggs": {
"agg1": {
"terms": {
"field": "agg1"
},
"aggs": {
"agg2": {
"terms": {
"field": "agg2"
},
"aggs": {
"agg3": {
"histogram": {
"field": "agg3",
"interval": 1
}
}
}
}
}
}
}
}
您可以执行此操作来将集群设置 (search.max_buckets) 更改得更大。https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html
PUT _cluster/settings
{
"persistent": {
"search.max_buckets": 50000
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)