我正在运行聚合
{
"metrics": [
{
"label": "person_1",
"id": ""
},
{
"label": "person_2",
"id": ""
},
...
]
}
使用以下查询:
{
"confusionMetrics": {
"nested": {
"path": "metrics"
},
"aggs": {
"metricNameFilter": {
"filter": {
"term": {
"metrics.id": ...
}
},
"aggs":...
}
}
}
}
并得到一个错误,即即使在将集群限制从10,000提高到〉50,000之后,查询也超过了ES设置的桶限制。
从ES文档中,我了解到查询为我正在迭代的嵌套对象中的每个元素创建桶。是否有一种方法可以迭代'metrics'对象中的元素而不为它们创建桶,或者减少生成的桶的数量?
1条答案
按热度按时间tyu7yeag1#
对于任何研究这个问题的人,我通过向查询添加脚本agg来解决这个问题,该脚本迭代不同的元素。它不是那么优雅,但工作得很好,并大大减少了嵌套迭代生成的桶的数量。