{
"aggs": {
"weighted_avg_score": {
"weighted_avg": {
"value": {
"script": {
"source": "doc['销量'].value * 0.8 + doc['评价星级'].value * 0.2",
"lang": "painless"
}
},
"weight": {
"script": {
"source": "doc['销量'].value",
"lang": "painless"
}
}
}
}
}
}
aggs
:Elasticsearch中用于聚合操作的关键字。
weighted_avg_score
:自定义的聚合名称,可以根据实际情况修改,代表计算出的带权重平均得分的聚合结果名称。
weighted_avg
:表示进行带权重的平均聚合操作。
value
:用于定义计算加权平均值的数值部分,这里通过script
脚本计算,销量权重设为0.8,评价星级权重设为0.2 ,使用painless
脚本语言从文档中获取销量
和评价星级
字段值进行计算。
weight
:用于定义权重部分,这里同样通过script
脚本从文档中获取销量
字段值作为权重,使用painless
脚本语言。