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聚合的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