我有一个这样的文件:
{
"_id": 1,
"factor": 100,
"field_with_high_cardinality": 1000
}
我知道对于每个唯一的field_with_high_cardinality
,factor
总是相同的。
我需要仅考虑sum
的唯一(不同)值来计算factor
字段的field_with_high_cardinality
聚合。
我尝试为terms
计算field_with_high_cardinality
,然后为avg
上的每个term
计算factor
(因为所有factor
字段都相同, avg
将给我risk
字段)。然后平均sum_bucket
:
"aggs": {
"terms_agg": {
"terms": {
"field": "field_with_high_cardinality",
"size": 1000000
},
"aggs": {
"avg_risks": {
"avg": {
"field": "factor"
}
}
}
},
"sums":{
"sum_bucket": {
"buckets_path": "terms_agg.avg_risks"
}
}
}
但是由于我有很多field_with_high_cardinality
值(几乎99%是唯一的),所以我遇到两个问题:
risk_terms
存储桶都作为响应的一部分返回,但我只需要sums
字段。