添加Elasticsearch聚合键



我想聚合组中pod的CPU值。但是,如果聚合API基于POD,则在Key中显示了哪个POD,但不知道该POD属于哪个组。

是否有办法在计数中包含一个组?我想知道哪个POD属于哪个组

ex)在下面的示例中,组信息为未知。

"buckets": [
{
"key": "myPod",
"doc_count": 1,
"1" : {
"value" : 5
}
}]

样本数据:

{group=myGroup1, pod=myPod1, value=4},
{group=myGroup1, pod=myPod2, value=5},
{group=myGroup2, pod=myPod3, value=6}

如果相同的pod (pod1)始终属于同一组(group1),则可以执行以下操作

{
"aggs": {
"pod": {
"terms": {
"field": "pod",
"size": 10
},
"aggs": {
"group": {
"top_hits": {
"size": 1,
"_source": "group"
}
}
}
}
}
}

如果没有,则需要在组

上创建子聚合。
{
"aggs": {
"pod": {
"terms": {
"field": "pod",
"size": 10
},
"aggs": {
"group": {
"terms": {
"field": "group",
"size": 10
}
}
}
}
}
}

最新更新