我有一个查询Elastic,它包含总共8个嵌套聚合,所有聚合都是term
聚合,唯一的聚合是histogram
聚合。如果删除该直方图聚合,查询将完美运行。但是使用直方图聚合时,会抛出此特定错误:
此聚合创建了太多的存储桶(10001),将抛出一个 未来版本中出现错误。您应该更新[search.max_buckets] 集群设置或使用[composite]聚合对所有页面进行分页 存储多个请求。
现在,我尝试增加max_buckets
的大小,但是大小已达到100000以上,而且该数字不确定,因此可以选择。然后,我尝试按照错误中的建议创建一个composite
聚合,但是在添加直方图的同时也给出了相同的错误。
所以我的问题是我是否以某种错误的方式编写查询,或者弹性不足以创建那么多存储桶?
Kibana查询:(只有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
}
}
}
}
}
}
}
}
答案 0 :(得分:1)
您可以执行此操作以将群集设置(search.max_buckets)更改为更大。 https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html
PUT _cluster/settings
{
"persistent": {
"search.max_buckets": 50000
}
}