我只是简化了我的查询,如下
GET /index-name/_search
{
"from": 0,
"query": {
"bool": {
"filter": [
{
"terms": {
"providerid": [
2000019314,
2000041586,
2000060152
]
}
}
]
}
},
"aggs": {
"quality_score_percentiles": {
"percentiles": {
"field": "metrics.data.weightedqualityscore",
"percents": [50,75],
"missing": 10
}
}
},
"size": 10
}
对于给定的 3 个提供者 ID,我在响应命中中得到了 3 个文档。每个文档的加权质量分数分别为 71、72 和 67。 索引中的映射:weightedqualityscore 是索引映射中的浮点字段。
"metrics" : {
"type" : "nested",
"properties" : {
"data" : {
"properties" : {
"weightedqualityscore" : {
"type" : "float"
},
"weightedspeedscore" : {
"type" : "float"
}
}
}
}
}
我的聚合响应仅将值显示为 10(或我在查询中缺少的参数中给出的任何值),如下所示但我的预期第 75 个百分位数值为 71.75。
"aggregations" : {
"quality_score_percentiles" : {
"values" : {
"50.0" : 10.0,
"75.0" : 10.0
}
}
}
第 50 个百分位数和第 75 个百分位数都是不正确的值。正确计算 75% 的查询中存在哪些错误或缺失?
我可以通过添加嵌套路径来解决问题,如下所示:
"aggs": {
"quality_score_percentiles": {
"percentiles": {
"field": "metrics.data.weightedqualityscore",
"percents": [
75
]
}
}
},
"nested": {
"path": "metrics"
}