58、ElasticSearch DSL Bucket、Metric聚合

1、聚合的分类

2、DSL实现Bucket聚合

# 集合, 1、bucket terms
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "size": 20
      }
    }
  }

3、Bucket聚合-聚合结构排序

 # 集合,2、bucket terms 排序
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "order": {
          "_count": "asc"
        }, 
        "size": 20
      }
    }
  }
}

4、Bucket聚合-限定聚合范围

 # 集合,3、bucket terms 过滤
GET /hotel/_search
{
  "size": 0,
  "query": {
    "range": {
      "price": {
        "gte": 0,
        "lte": 200
      }
    }
  }, 
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "size": 20
      }
    }
  }
}

 5、DSL实现Metrics聚合

# 聚合,4、metrics 
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "order": {
          "score_stats.max": "asc"
        }, 
        "size": 10
      },
      "aggs": {
        "score_stats": {
          "stats": {
            "field": "score"
          }
        }
      }
    }
  }

6、总结分析

本章学习了什么是聚合以及Bucket、Metric聚合的DSL语法

        1、什么是聚合:聚合是对文档的统计、分析、计算

        2、常见的聚合:Bucket、Metric、Pipeline

        3、聚合支持的字段:keyword、数值、日期、布尔

        4、聚合三要素:聚合名称、聚合类型、聚合字段 

以上内容来自黑马程序员,课程学习节奏循序渐进。本人学习后觉得非常不错,有兴趣的小伙伴千万不要错过。 

SpringCloud 黑马程序员公开课https://www.bilibili.com/video/BV1LQ4y127n4/?spm_id_from=333.337.search-card.all.click&vd_source=14fddb9f4c113af7bdb1f50651dffc4d

猜你喜欢

转载自blog.csdn.net/weixin_40968009/article/details/128062264