【问题标题】:Elasticsearch: how to to calculate avg _score on each bucket?Elasticsearch:如何计算每个桶的 avg _score?
【发布时间】:2015-06-30 04:48:50
【问题描述】:

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

【问题讨论】:

    标签: elasticsearch aggregation


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢keety,我的错误是把“field”:“_score”而不是“script”:“_score”
    猜你喜欢
    • 2017-09-16
    • 2014-08-24
    • 2016-01-03
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多