elasticsearch中,带权平均数这个聚合,如果字段和权重值都是数组的时候计算公式是怎么样的?
elasticsearch中,带权平均数这个聚合,如果字段和权重值都是数组的时候计算公式是怎么样的?
出来的结果是 3.142857142857143
有点理解不了
- 数据
[
{
"_index" : "exams",
"_type" : "_doc",
"_id" : "_-bTWm8BJi8CO_fWaZPG",
"_score" : 1.0,
"_source" : {
"grade" : [
1,
2,
3
],
"weight" : 2
}
},
{
"_index" : "exams",
"_type" : "_doc",
"_id" : "qObvWm8BJi8CO_fWB71W",
"_score" : 1.0,
"_source" : {
"grade" : 4,
"weight" : 3
}
}
]
- 请求
POST /exams/_search
{
"size": 0,
"aggs" : {
"weighted_grade": {
"weighted_avg": {
"value": {
"field": "grade",
"missing":1
},
"weight": {
"script": "doc.grade.value",
"missing":2
}
}
}
}
}
- 返回值:
{
"took" : 5,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"weighted_grade" : {
"value" : 3.142857142857143
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论