当前位置: 首页 > news >正文

在线做视频的网站海外网络推广

在线做视频的网站,海外网络推广,WordPress判断用户角色,日本女做网站本文主要介绍 Elasticsearch 的聚合功能,介绍什么是 Bucket 和 Metric 聚合,以及如何实现嵌套的聚合。 首先来看下聚合(Aggregation): 1 什么是 Aggregation? 首先举一个生活中的例子,这个是京…

本文主要介绍 Elasticsearch 的聚合功能,介绍什么是 Bucket 和 Metric 聚合,以及如何实现嵌套的聚合。

首先来看下聚合(Aggregation):

1 什么是 Aggregation?

在这里插入图片描述
首先举一个生活中的例子,这个是京东的搜索界面,在搜索框中输入“华为”进行搜索,就会得到如上界面,搜索框就是我们常用的搜索功能,而下面这些,比如分类、热点、操作系统、CPU 类型等是根据 ES 的聚合分析获得的相关结果。

看完上面这个例子,下面来看下聚合的定义:

ES 除了搜索以外,还提供针对 ES 数据进行统计分析的功能,也就是聚合,它的特点是实时性非常高,所有的计算结果都是即时返回的,而 Hadoop 等大数据系统得到一个统计结果需要一天的时间,一般都是 T + 1 级别的。

通过聚合,我们会得到一个数据的概览,是分析和总结全套的数据,而不是寻找单个文档,比如海淀区和东城区的客房数量,不同价格区间,可预订的经济型酒店和商务型酒店的数量,这样可以帮助我们过滤搜索的结果,这样的优点是性能高,只需要一条语句,就可以从 ES 得到分析结果,无需再客户端自己去实现分析逻辑。

在 ES 的聚合中主要一共分为四大类:

  • Bucket Aggregation:分桶类型,一些列满足特定条件的文档的集合
  • Metric Aggregation:指标分析类型,一些数学运算,可以对文档字段进行统计分+ 析,比如计算最大值、最小值、平均值等
  • Pipeline Aggregation:管道分析类型,对其他聚合结果进行二次聚合
  • Matrix Aggregation:矩阵分析类型,支持对多个字段的操作并提供一个结果矩阵

在以后的文章会对这些做详细的讲解,本文先来了解下什么是 Bucket 和 Metric:

Bucket 简单来说相当于 SQL 中的 GROUP,可以根据条件,把结果分成一个一个的组,那 Metric 相当于 SQL 中的 COUNT,可以去执行一系列的统计方法。

接下来看什么是 Bucket Aggregation:

2 Bucket Aggregation

在这里插入图片描述
Bucket 就是桶的意思,即按照一定的规则将文档分配到不同的桶中,达到分类分析的目的。如上图所示,左边有一堆文档,右边有三个桶,每个桶有不同的规则,比如第一个桶的规则为价格小于 3000 的,第二个桶为价格大于等于 3000 小于 6000 的,最后一个桶的规则为价格大于 6000 的,然后不同的文档根据不同的价格分到不同的桶中,那么我们就实现了分类。

有了 Bucket 聚合分析机制,我们就可以把公司员工以年龄方式进行区分,以地理位置的方式来区分客户,以男性女性来区分演员等。

根据 Bucket 的分桶策略,常见的 Bucket 聚合分析如下:

  • Terms:直接按照 term 来分桶,如果是 text 类型,则按照分词后的结果分桶
  • Range:指定数值的范围来设定分桶规则
  • Date Range:指定日期的范围来设定分桶规则
  • Histogram:直方图,以固定间隔的策略来分割数据
  • Date Histogram:针对日期的直方图或者柱状图,是时序数据分析中常用的聚合分析类型

下面以 Terms 为例,让我们动手实践下:
在这里插入图片描述
这是一个查看航班目的地的统计信息的例子,通过指定关键词为 terms,然后指明 term 字段 field 为 DestCountry,下面我们请求下,查看下请求结果:
在这里插入图片描述
从结果中可以看到文档根据目的地分成了不同的桶,每个桶还包括 doc_count,这样就可以很轻松知道 ES 存储的航班信息中,去往意大利、美国、中国等国家分别有多少架航班。

在简单了解了 Bucket 聚合分析后,让我们来看下 Metric 聚合分析:

3 Metric Aggregation

Metric 是基于数据集计算的结果,除了支持在字段上进行计算,同样也支持在脚本产生的结果之上进行计算。Metric 主要分为单值分析和多值分析,具体内容如下:

单值分析,只输出一个分析结果:

  • Min、Max、Avg、Sum
  • Cardinality

其中,Min、Max、Avg、Sum 这些很容易理解,在这里说一下 Cardinality,它是指不同数值的个数,相当于 SQL 中的 distinct。

多值分析,输出多个分析结果:

  • Stats、Extended Stats
  • Percentiles、Percentile Ranks
  • Top Hits

其中,Stats 是做多样的数据分析,可以一次性得到最大值、最小值、平均值、中值等数据;Extended Stats 是对 Stats 的扩展,包含了更多的统计数据,比如方差、标准差等;Percentiles 和 Percentile Ranks 是百分位数的一个统计;Top Hits 一般用于分桶后获取桶内最匹配的顶部文档列表,即详情数据。

了解之后,让我们实操起来,紧接着刚才查看航班目的地的统计信息的例子,如果还想知道机票的均价,最高最低价格,该怎么做呢?这就需要用到 Metric 了:
在这里插入图片描述
我们在请求中加入 aggs,其中 avg_price 为自己定义的名字,这个是为了方便在以后理解这个字段返回值的含义,然后分别关键词分别选择 avg、max、min 来完成计算目的地不同的航班的机票均价、最高最低价格,这个请求的执行结果如下所示:

在这里插入图片描述
从结果中可以看出,飞往意大利的航班一共有 2371 架,其中机票最高价格为 1195 元,最低价格为 100 元,平均价格为 586 元,很快就可以得到统计的一些结果。

另外,聚合分析还支持嵌套,那么让我们看下如果实现一个嵌套聚合分析:

在这里插入图片描述
通过这个请求不但可以获取到航班目的地的统计信息,还可以得到航班抵达时的天气状况,运行结果如下所示:
在这里插入图片描述
可以看出,在抵达意大利的航班中,抵达时的天气有 424 次为晴天,417 次为下雨天等,所以通过嵌套的方式就可以很快得到更深层次的数据统计值。

4 总结

本文对 Elasticsearch 的聚合功能做了初步介绍,也学习 Bucket 和 Metric 聚合分析,在后续文章会对聚合功能做一个更加深入的讲解。

http://www.hengruixuexiao.com/news/51038.html

相关文章:

  • 站长工具亚洲高清西安企业seo
  • wordpress 404 not found网站优化的主要内容
  • 普陀网站建设百度有免费推广广告
  • 美国网站建设公司哪家好百度排行榜前十名
  • 金华自助建站电商网站平台
  • wordpress 注册美化seo网络培训班
  • 泉州建设培训中心网站安卓aso优化排名
  • 小学网站建设国内广告联盟平台
  • 做物流的网站都有什么作用百度怎么发帖做推广
  • 在哪个网站订酒店做申根签证市场营销策划方案案例
  • 三九集团如何进行网站建设厦门百度推广排名优化
  • 网站地图怎么生成快推达seo
  • 中山有网站建设公司吗免费搭建网站平台
  • 泾县住房和城乡建设委员会官方网站沈阳专业seo排名优化公司
  • 新乡市做网站电商运营工资大概多少
  • wordpress+缩略图截图爱站工具seo综合查询
  • 无锡做网站要多少钱做好网络推广的技巧
  • wordpress主题背景插件厦门seo公司
  • 中国十大室内设计师市场seo是什么
  • 什么样的资质做电子商务网站知乎seo
  • 广东省高校质量工程建设网站百度seo关键词排名优化工具
  • 今日头条在线观看产品seo优化
  • 王璞网站开发实战路由器优化大师
  • 网站建设知名企业搜索引擎优化介绍
  • 建立网站成本重庆seo霸屏
  • 网站建设的日程表seo长尾快速排名
  • 网站建设基本流程是什么网络公司名字大全
  • 网站上的漂浮怎么做哈尔滨百度网络推广
  • 如何在网站上做标注互联网广告投放代理公司
  • 重庆做网站费用优化系统的软件