我可以基于Elasticsearch Aggregation中的查询更改结果得分吗?

时间:2018-10-25 20:56:41

标签: elasticsearch kibana nest

我将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"
                        }
                     }
                  ]
               }
            }
         }
      }
   }
}

0 个答案:

没有答案