Могу ли я изменить оценку результатов на основе запроса в рамках Elasticsearch Aggregation? - PullRequest
0 голосов
/ 25 октября 2018

Я использую агрегацию фильтра 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"
                        }
                     }
                  ]
               }
            }
         }
      }
   }
}
...