ES实战-高级聚合

多桶型聚合

1.词条聚合--terms

2.范围聚合--range

3,直方图聚合--histogram/日期直方图

4.嵌套聚合

5.地理距离聚合
include(包含)exclude(不包含)

bash 复制代码
GET /get-together/_search?pretty
{
  "size": 0,
  "aggs": {
    "tags": {
      "terms": {
      "field": "tags.verbatim",
      "include": ".*search.*"
      }
    }
  }
}

range范围聚合统计

bash 复制代码
GET /get-together/_search
{
  "aggs": {
    "attendees_breakdown": {
      "range": {
        "script": {
          "source": "doc['attendees'].size()"
        },
        "ranges": [
          {"to": 4},
          {"from": 4,"to": 6},
          {"from": 6}
        ]
      }
    }
  }
}

histogram定义一个固定间距,es会自动构建范围.

bash 复制代码
#ES会构建从最小值开始的范围,并不断加入interval,
#直到包含最大值
GET /get-together/_search
{
  "aggs": {
    "attendees_histogram": {
      "histogram": {
        "script": {
          "source": "doc['attendees'].size()"
        },
        "interval": 1
      }
    }
  }
}

通过嵌套聚合获得结果分组

相关推荐
童先生6 小时前
docker安装的es报错了?failed to obtain node locks怎么破~
elasticsearch·docker·jenkins
neo_Ggx238 小时前
ElasticSearch 入门到放弃(持续更新中)
elasticsearch·搜索引擎·wpf
小兔崽子去哪了8 小时前
初试 Elasticsearch
数据库·elasticsearch
007php00711 小时前
go语言zero框架拉取内部平台开发的sdk报错的修复与实践
大数据·elasticsearch·搜索引擎
Elasticsearch13 小时前
Elasticsearch:语义文本 - 更简单、更好、更精炼、更强大 8.18
elasticsearch
SaebaRyo13 小时前
使用Nestjs + ElasticSearch实现电商搜索功能
后端·elasticsearch·nestjs
阿昊真人1 天前
ESP-IDF ubuntu版本 V5.2
linux·ubuntu·elasticsearch
勤不了一点1 天前
【ELK】ElasticSearch 集群常用管理API操作
linux·elk·elasticsearch
kngines1 天前
【实战ES】实战 Elasticsearch:快速上手与深度实践-5.3.1GeoPoint与GeoShape的选型
大数据·数据库·elasticsearch·搜索引擎
苍煜1 天前
Elasticsearch-07-Elasticsearch Java API Client-Elasticsearch 8.0 的高阶api
java·elasticsearch·es8·es client api