DSL实现Metrics 聚合

举例:

        我们要求获取每个品牌的用户评分的minmaxavg等值.

        我们可以利用stats聚合:

# 嵌套聚合metric
GET /hotel/_search
{
  "size":0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand.keyword",
        "size": 20,
        "order": {
          "scoreAgg.avg": "desc"
        }
      },
      "aggs": {                 // 是brands聚合的子聚合,也就是分组后对每组分别计算
        "scoreAgg": {           // 聚合名称
          "stats": {            // 聚合类型,这里stats可以计算min、max、avg等
            "field": "score"    // 聚合字段,这里是score
          }
        }
      }
    }
  }
}

DSL实现Metrics 聚合_第1张图片

你可能感兴趣的:(elasticsearch,springcloud,大数据,elasticsearch)