如何在一个 ElasticSearch 查询中获取多个字段的百分位数
How to get percentiles for multiple fields in one ElasticSearch query
我学会了如何编写用于计算百分位数的 ES 查询,但它似乎只适用于一个字段。如果我想要多个字段的百分位数,它不起作用。
"aggs": {
"distinct_UUID": {
"terms": {
"field": "cust_uuid"
},
"aggs": {
"perf_percentiles" : {
"percentiles" : {
"field":"A",
"field":"B"
}
}
如果我在百分位数部分只有一个字段(字段 A 或 B,但不是两者),但我想有 10 个或更多字段,则上面的代码可以正常工作。我该如何解决?
只需添加更多子聚合,每个字段一个:
{
"aggs": {
"distinct_UUID": {
"terms": {
"field": "cust_uuid"
},
"aggs": {
"percentile_a": {
"percentiles": {
"field": "A"
}
},
"percentile_b": {
"percentiles": {
"field": "B"
}
},
"percentile_c": {
"percentiles": {
"field": "C"
}
}
}
}
}
}
我学会了如何编写用于计算百分位数的 ES 查询,但它似乎只适用于一个字段。如果我想要多个字段的百分位数,它不起作用。
"aggs": {
"distinct_UUID": {
"terms": {
"field": "cust_uuid"
},
"aggs": {
"perf_percentiles" : {
"percentiles" : {
"field":"A",
"field":"B"
}
}
如果我在百分位数部分只有一个字段(字段 A 或 B,但不是两者),但我想有 10 个或更多字段,则上面的代码可以正常工作。我该如何解决?
只需添加更多子聚合,每个字段一个:
{
"aggs": {
"distinct_UUID": {
"terms": {
"field": "cust_uuid"
},
"aggs": {
"percentile_a": {
"percentiles": {
"field": "A"
}
},
"percentile_b": {
"percentiles": {
"field": "B"
}
},
"percentile_c": {
"percentiles": {
"field": "C"
}
}
}
}
}
}