Я использую агрегацию фильтра Elasticsearch с вложенной агрегацией top_hits для извлечения самых подходящих документов на основе разных фильтров, но я не могу изменить оценки результатов в каждом сегменте с помощью повышения или вложенного запроса function_score.Это просто невозможно?Я не нашел какой-либо явной документации о том, что она не будет работать, и запрос выполняется просто отлично, однако на итоговые результаты это не влияет.
Пример запроса (обратите внимание на огромный прирост в первой агрегации):
GET _search
{
"size":0,
"query":{
"bool":{
"should":[
{
"multi_match":{
"type":"phrase",
"query":"TV",
"fields":[
"categories^4"
]
}
}
]
}
},
"aggs":{
"1":{
"filter":{
"bool":{
"must":[
{
"multi_match":{
"type":"phrase",
"query":"Music",
"fields":[
"categories^10"
]
}
}
]
}
},
"aggs":{
"1_hits":{
"top_hits":{
"size":10,
"sort":[
{
"_score":{
"order":"desc"
}
}
]
}
}
}
},
"2":{
"filter":{
"bool":{
"must":[
{
"multi_match":{
"type":"phrase",
"query":"Music",
"fields":[
"categories"
]
}
}
]
}
},
"aggs":{
"2_hits":{
"top_hits":{
"size":10,
"sort":[
{
"_score":{
"order":"desc"
}
}
]
}
}
}
}
}
}