Я пытаюсь выполнить среднее значение по полю цены (price.avg
). Но я хочу, чтобы лучшие совпадения запроса оказывали большее влияние на среднее значение, чем последние, поэтому среднее значение должно быть взвешено по вычисляемому полю оценки. Это агрегация, которую я реализую.
{
"query": {...},
"size": 100,
"aggs": {
"weighted_avg_price": {
"weighted_avg": {
"value": {
"field": "price.avg"
},
"weight": {
"script": "_score"
}
}
}
}
}
Он должен дать мне то, что я хочу. Но вместо этого я получаю нулевое значение:
{...
"hits": {...},
"aggregations": {
"weighted_avg_price": {
"value": null
}
}
}
Есть что-то, чего мне не хватает? Выполним ли этот запрос агрегации? Есть ли обходной путь?