tnblog
首页
视频
资源
登录

Elasticsearch 聚合分析简介

6104人阅读 2020/12/26 16:51 总访问:3656279 评论:0 收藏:1 手机
分类: 云产品

elasticsearch

Elasticsearch 聚合分析简介

什么是聚合(Aggregation)

聚合:对有关的数据进行内容挑选、分析、归类(筛选),最后分析得到人们想要的结果。Elasticsearch 除搜索以外,提供根据ES的数据进行统计分析的功能,并且实时性高。如果用Hadoop来处理的话会要用1天的时间。通过聚合,我们会得到一个数据概览,是分析和总结全套的数据,而不是去寻找单个文档。
比如:获取多少价格之间的商品数量,最火热的销售商品排序。
同样也有高性能的特点,只需要一条语句,就可以从Elasticsearch得到分析结果。无需在客户端自己实现分析逻辑。在Kibana中也是有可视化报告的聚合分析。

集合的分类

  • Bucket Aggregation - 一些列满足特定条件的文档的集合
  • Metric Aggregation - 一些数学运算,可以对文档字段进行统计分析
  • Pipeline Aggregation - 对其他的具体结果进行二次聚合
  • Matrix Aggregation - 支持对多个字段的操作并提供一个结果矩阵

Bucket & Metric

Bucket 的例子(多种划分的文档)

Metric 会基于数据集计算结果,除了支持在字段上进行计算,同样也支持在脚本产生的结果之上进行计算。大多数 Metric 是数学计算,仅输出一个值 min / max / sum / avg / cardinality。 部分 Metric 支持输出多个数值 stats / percentiles / percentile_ranks

Demo示范

首先请大家安装好航空测试数据,如不知道如何装载的请按照下图所示

Bucket Demo

这里我们目的地进行分桶统计,在结果中对其进行了分组

  1. GET kibana_sample_data_flights/_search
  2. {
  3. "size": 0,
  4. "aggs":{
  5. "flight_dest":{
  6. "terms":{
  7. "field":"DestCountry"
  8. }
  9. }
  10. }
  11. }

Metric Demo

查看航班目的地的统计信息,增加平均,最高最低价格

  1. GET kibana_sample_data_flights/_search
  2. {
  3. "size": 0,
  4. "aggs":{
  5. "flight_dest":{
  6. "terms":{
  7. "field":"DestCountry"
  8. },
  9. "aggs":{
  10. "avg_price":{
  11. "avg":{
  12. "field":"AvgTicketPrice"
  13. }
  14. },
  15. "max_price":{
  16. "max":{
  17. "field":"AvgTicketPrice"
  18. }
  19. },
  20. "min_price":{
  21. "min":{
  22. "field":"AvgTicketPrice"
  23. }
  24. }
  25. }
  26. }
  27. }
  28. }

价格统计信息+天气信息(实现在字段中进行分组)

  1. GET kibana_sample_data_flights/_search
  2. {
  3. "size": 0,
  4. "aggs":{
  5. "flight_dest":{
  6. "terms":{
  7. "field":"DestCountry"
  8. },
  9. "aggs":{
  10. "stats_price":{
  11. "stats":{
  12. "field":"AvgTicketPrice"
  13. }
  14. },
  15. "wather":{
  16. "terms": {
  17. "field": "DestWeather",
  18. "size": 5
  19. }
  20. }
  21. }
  22. }
  23. }
  24. }


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Elasticsearch 安装与部署

Elasticsearch 安装与部署[TOC] 环境准备 Java 8.0以上的环境本机环境为Mac,Java 14.0.2 获取 Elasticsearch 安装包 ...

Docker运行 Elasticsearch Kibana和Cerebro

Docker运行 Elasticsearch Kibana和Cerebro[TOC] Demo 运行 Docker-compose,本地构建更高效的开发环境,更直观地了解 El...

Elasticsearch 基本概念:索引、文档和REST API

Elasticsearch 基本概念:索引、文档和REST API[TOC] 前言 为了了解 Elasticsearch 如何构成,我们首先需要理解索引(I...

Elasticsearch 基本概念:节点、集群、分片及副本

Elasticsearch 基本概念:节点、集群、分片及副本[TOC] 分布式系统的可用性与扩展性 高可用性 服务可用性 - 允许有节...

Elasticsearch 文档的基本CRUD与批量操作

Elasticsearch 文档的基本CRUD与批量操作[TOC] 文档的 CRUD Index PUT my_index/_doc/1 {“user”:...

Elasticsearch 倒排索引(运用Analyzer进行分词)

Elasticsearch 倒排索引[TOC] 正排与倒排索引 我们以一本书为例子,一本书的目录为正排索引,它将排列整本书的主要大纲...

Elasticsearch Search API概览

Elasticsearch Search API概览[TOC] Search API 通过搜索获取的数据方式有两种。 URL Search 在URL中使用查询参数...

Elasticsearch URL Search详解

Elasticsearch URL Search详解[TOC] 通过 URL Query 实现搜索举例: Get /movies/_search?q=2020&df=title&sort...

Elasticsearch Request Body与Query DSL简介

Elasticsearch Request Body与Query DSL简介[TOC] Request Body Search 将查询语句通过 HTTP Resquest Body 发送给 Ela...

Elasticsearch 显式Mapping设置与常见参数介绍

Elasticsearch 显式Mapping设置与常见参数介绍[TOC] 如何显示的定义一个MappingPut movies { "mappings" ...

Elasticsearch 多字段特性及Mapping中配置自定义Analyzer

Elasticsearch 多字段特性及Mapping中配置自定义Analyzer[TOC] 多字段类型多字段特性 厂家名字可以实现精确匹配,增加一...

Elasticsearch Index Template 和 Dynamic Template

Elasticsearch Index Template和Dynamic Template[TOC] 什么是 Index Template 可以通过一定的规则去设定 Mappings 和 Se...

Elasticsearch 基于词项和基于全文的搜索

Elasticsearch 基于词项和基于全文的搜索[TOC] 基于 Term 的查询Term 的重要性Term 是表达语意的最小单位。搜索和利用语言...

.NET Core使用Elasticsearch 一:windows安装Elasticsearch与kibana

一:安装java环境ElasticSearch是基于Java的所以先要安装Java,dkj,当然下载的ElasticSearch也带得也jkd也可以使用那个。下...

.NET Core使用Elasticsearch 二:CORE操作ES基础环境与简单查询

Elasticsearch使用版本7.12.0安装Elasticsearch与kibana可以参考:https://www.tnblog.net/aojiancc2/article/details/5875...
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术