我想在计算字段上使用范围聚合。我到目前为止的查询:
...
"aggs": {
"ratings": {
"terms": {
"field": "card.question_id",
"size": 10000
},
"aggs": {
"ratings": {
"range": {
"field": "card.rating",
"ranges": [
{
"from": 0.0,
"to": 0.5
},
{
"from": 0.5,
"to": 1.1
}
]
}
}
}
}
}
...
多张卡片可以具有相同的question_id。我现在所拥有的范围是包含每个范围的评分量的范围。但是我想要的是包含问题数量的范围,其卡均值应用于范围。也许像这样:
...
"aggs": {
"ratings": {
"terms": {
"field": "card.question_id",
"size": 10000
},
"aggs": {
"ratings": {
"range": {
"avg" : { "field" : "card.rating" },
"ranges": [
{
"from": 0.0,
"to": 0.5
},
{
"from": 0.5,
"to": 1.1
}
]
}
}
}
}
}
...
当然,这行不通,但是请告诉我我的意思。可以使用“脚本”代替“字段”,但是我无法计算脚本的平均值(至少我不知道如何)。
有人知道解决这个问题的方法吗?