如何使用Elastic Search计算一个字段与另一个字段分组的百分比?我已经试过了:
GET /dealergeo/sale/_search
{
"size": 0,
"aggs": {
"dom_rank": {
"percentiles": {
"field": "avgdom"
},
"aggs": {
"name": {
"terms": {
"field": "make",
"size": 10
}
}
}
}
}
}
所以基本上我想按make分组所有数据,然后计算avgdom的百分位数,但这给出了一个错误:
我在这里想念什么?还是使用 flex 搜索可能?谢谢你的帮助!
最佳答案
刚刚弄清楚,我需要将percentile
聚合包装在terms
聚合内,而不是用其他方式包装:
GET /dealergeo/sale/_search
{
"size": 0,
"aggs": {
"make_agg": {
"terms": {
"field": "make",
"size": 5
},
"aggs": {
"dom_rank": {
"percentiles": {
"field": "avgdom"
}
}
}
}
}
}