Can I alter the score of results based on a query within an Elasticsearch Aggregation?

Viewed 73

I'm using an Elasticsearch filter aggregation with a nested top_hits aggregation to retrieve top matching documents based on different filters, but I can't seem to change the scores of results in each bucket via boosting or a nested function_score query. Is this just not possible? I haven't found any explicit documentation saying it won't work, and the query executes just fine, however the resulting scores aren't impacted.

Example query (note the huge boost in the first aggregation):

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"
                        }
                     }
                  ]
               }
            }
         }
      }
   }
}
0 Answers
Related