Elasticsearch:如何计算每个桶的平均分数?

Elasticsearch: how to to calculate avg _score on each bucket?

我有一个匹配查询,我想做一个术语聚合(比如在字段文档类型上)来计算每个桶的平均查询分数。我找不到如何访问聚合中的 _score 字段。 有人可以帮忙吗? 谢谢, 帕特里克

要访问乐谱,您需要启用脚本。 然后您可以访问 score in document,如下例所示:

"aggs": {
      "type_bucket": {
         "terms": {
            "field": "_type"
         },
        "aggs": {
            "avg_score": {
                "avg": {
                    "script": "_score"
                }
            }
        }
      }
    }