数据分析(analytics)

最后,我们要完成最后一个业务需求:允许管理者对员工信息做出数据分析。ES有个功能叫aggregations,这个功能可以对数据进行先进的统计和分析,就像是SQL中的GROUP
BY,只不过是功能更强大。

例如:要查出员工中最流行的兴趣名称,

GET /megacorp/employee/_search
{
  "aggs":{
    "all_interests":{
      "terms":{"field":"interests"}
    }
  }
}

先忽略语法看结果:

{
   ...
   "hits":{...},
   "aggregations":{
      "all_interests":{
         "buckets":[
            {
               "key":       "music",
               "doc_count":2
            },
            {
               "key":       "forestry",
               "doc_count":1
            },
            {
               "key":       "sports",
               "doc_count":1
            }
         ]
      }
   }
}

结果显示两个员工对music有兴趣,一个对forestry感兴趣,一个对sport感兴趣。这个aggregations并不是预先计算好的,结果是在查找符合条件的文档的时候生成的。如果,还想统计叫Smith的人的兴趣,还可以如下进行组合查询。

GET /megacorp/employee/_search
{
  "query":{
    "match":{
      "last_name":"smith"
    }
  },
  "aggs":{
    "all_interests":{
      "terms":{
        "field":"interests"
      }
    }
  }
}

all_interests节点下就仅仅包含符合查询Smith的条件的员工兴趣信息

  ...
  "all_interests":{
     "buckets":[
        {
           "key":"music",
           "doc_count":2
        },
        {
           "key":"sports",
           "doc_count":1
        }
     ]
  }

Aggregations允许嵌套查询。例如,查询对某个爱好感兴趣的员工的平均年龄,

GET /megacorp/employee/_search
{
    "aggs":{
        "all_interests":{
            "terms":{"field":"interests"},
            "aggs":{
                "avg_age":{
                    "avg":{"field":"age"}
                }
            }
        }
    }
}

结果有点复杂,但还是很容易看懂的,

...
  "all_interests":{
     "buckets":[
        {
           "key":"music",
           "doc_count":2,
           "avg_age":{
              "value":28.5
           }
        },
        {
           "key":"forestry",
           "doc_count":1,
           "avg_age":{
              "value":35
           }
        },
        {
           "key":"sports",
           "doc_count":1,
           "avg_age":{
              "value":25
           }
        }
     ]
  }

输出的结果相对于开始运行的aggregation变得更为丰富。现在不但有了兴趣的列表和他们的数量,并且还对每一个兴趣计算出了对这个兴趣感兴趣的员工的平均年龄。

即使你不了解语法,你也能很容易的看到非常复杂的aggregation和group都能使用这个特色来搞定,查询什么样的数据是没有限制的。

原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_analytics.html

时间: 2024-10-14 19:39:29

数据分析(analytics)的相关文章

SPA UI-router

------------------------------------------------------------------------------------ SPA SPA(单页面应用):A single-page application (SPA) is a web application or web site that fits on a single web page with the goal of providing a user experience similar t

基于Data Lake Analytics的Serverless SQL大数据分析

摘要: TableStore(简称OTS)是阿里云的一款分布式表格系统,为用户提供schema-free的分布式表格服务.随着越来越多用户对OLAP有强烈的需求,我们提供在表格存储上接入Data Lake Analytics(简称DLA)服务的方式,提供一种快速的OLAP解决方案. 背景介绍TableStore(简称OTS)是阿里云的一款分布式表格系统,为用户提供schema-free的分布式表格服务.随着越来越多用户对OLAP有强烈的需求,我们提供在表格存储上接入Data Lake Analy

Knowledge Generation Model for Visual Analytics

1 摘要 可视分析使得人们能够分析大量的信息,为了支持复杂的决策和数据探索.人类作为一个中心的角色在知识产生的过程,从片段的证明到可视数据分析.虽然前者的研究提供了框架来产生这些过程,他们的范围通常聚焦很窄,所以他们不包含不同等级的不同视角.本文提供一个知识产生的可视分析模型,将这些分离的框架结合到一起,但是,仍然保留以前先进的模型(例如.KDD过程)来描述整个可视分析流程的个体片段.为了测试这个模型的有效性,用一个现实世界的可视分析系统来比较这个模型,证明当开发和评估这个系统,这个支持产生流程

推荐一门公开课The Analytics Edge

The Analytics Edge的中文名称应该叫做<数据分析的极限>,来自MITx.这门课最大的特点就是通过各种应用,介绍机器学习和优化的方法,使用的是统计学专用的语言R,所介绍的方法都是最经典的算法.机器学习中,监督学习的算法介绍了线性回归.逻辑回归.决策树与随机森林,非监督学习的算法介绍了分级聚类和K均值聚类:优化的方法介绍了线性优化和整数优化. 课程中很少有数学推导,完全没有介绍各种方法的原理.如果丝毫不了解机器学习的话可以有点难以接受,适合对机器学习有一定了解的人学习.即便我已经学

自学的数据分析书单

入门版 适合对数据分析的入门者,对数据分析没有整体概念的人,常见于应届毕业生,经验尚浅的转行者. 1.深入浅出数据分析 (豆瓣):HeadFirst 类的书籍,一向浅显易懂形象生动,可以对分析概念有个全面的认知.电子工业出版社的经典书目系列,从数据分析基本步骤开始.实验方法.最优化方法.假设检验方法.贝叶斯统计方法.主观概率法.启发法.直方图法.回归法.误差处理.相关数据库.数据整理技巧一一讲到.图比较多,适合入门. 2.谁说菜鸟不会数据分析 (豆瓣):不仅讲解了一些常见的分析技巧,并附带 Ex

Google Analytics (GA) 推出新助理功能

虽然Google被墙了,但还是好多公司正在使用Google的服务.比如,很多公司用Google Analytics(简称GA)来收集分析用户行为数据,以指导企业运营方向和产品路线.用过GA的人都深感GA的强大,但如果对数字没有sense,不具备数据分析经验的人,看GA的图表就只能和看股市走势图一样,不知其背后到底发生了什么事情,未来还会发生什么变化.现在好了,Google前些天在Google Analytics App里推出了一个助理功能,让你能快速洞悉数字背后的故事.比如,某电商在上周里突然订

提升大数据数据分析性能的方法及技术(二)

上部分链接 致谢:因为我的文章之前是在word中写的,贴过来很多用mathtype编辑的公式无法贴过来,之前也没有经验. 参考http://www.cnblogs.com/haore147/p/3629895.html,一文完成公式的迁移. 同时,说一句,word中用mathtype写的公式用ALT+\可以转换成对应的latex语法公式. 5 数据流过滤技术 信息大爆炸时代的到来使得针对数据进行深层次的挖掘成为数据处理的核心任务[21].但是在上面已经提到了,源数据的来源和数据的组成格式都是各种

数据分析经典图书推荐

一.基础知识:我们都该学点统计学? 统计学是一门以概率论为基础的方法论学科,主要通过收集数据,进行量化的分析.总结,并进而进行推断和预测,为相关决策提供依据和参考.它在几乎所有学科领域里面都具有重要的应用,从物理.社会科学到人文科学,甚至被用来工商业及政府的情报决策之上. 往近了说,想要成为一名数据分析师或已是数据分析师需要提高的,必须掌握最基本的统计基础知识.统计思想:下面给推荐的,是目前市面上有关统计学原理写的相当不错的一些图书,供大家学习参考!! 1.<深入浅出统计学> 购买地址:京东 

基于大数据分析的安全管理平台技术研究及应用

[引言]这篇文章原载于内刊,现发布于此.内容有所删减. Research and Application of Big Data Analysis Based Security Management Platform Last Modified By yepeng @ 2014-1-14 [内 容摘要]本文首先通过介绍大数据的起因,给出了大数据的定义和特征描述,并简要说明了当前大数据的研究概况.接下来,本文阐释了大数据分析技术,对大数据 在信息安全领域尤其是安全管理平台领域的应用做了深入分析,并