• ElasticSearch 2 (27)


    ElasticSearch 2 (27) - 信息聚合系列之故事开始

    摘要

    到目前为止,本书都在着重介绍搜索。对于搜索,我们有查询条件以及与查找到与条件匹配的集合。这个过程就和如大海捞针一样。

    对于聚合,我们站在远处总观数据。与查看单个文档不同,我们想要对数据集合进行整体的分析和总结。

    版本

    elasticsearch版本: elasticsearch-2.x

    内容

    到目前为止,本书都在着重介绍搜索。对于搜索,我们有查询条件以及与查找到与条件匹配的集合。这个过程就和如大海捞针一样。

    对于聚合,我们站在远处总观数据。与查看单个文档不同,我们想要对数据集合进行整体的分析和总结:

    • 大海里有多少针?
    • 针的平均长度是多少?
    • 所有长度的中位数是什么?按生产商分类结果会是怎样?
    • 每个月大海里面会掉进多少根针?

    聚合还可以回答更为详细的问题:

    • 销量最好的针的生产商是哪个?
    • 存在不普通或异常的针吗?

    聚合允许我们问一些更复杂的数据问题。尽管和搜索的功能完全不同,但它利用相同的数据结构,这使聚合能够快速运行 近乎实时,就像搜索一样。

    这对报表和仪表盘是强大的支持,不须要对所有数据进行汇总(不太好用的 Hadoop任务要执行一个星期),我们可以实时看到数据,并做出快速响应。报表随着数据的变化而变化,而不是那些预先计算好却已经过时的无关信息。

    最后,聚合操作是与查询请求并行执行的,这意味着对于相同数据、同一请求,我们可以搜索、过滤文档,同时又能完成分析工作。由于聚合是在用户搜索的背景下计算的,我们不仅仅是显示四星级酒店,而是显示与搜索条件相匹配的四星级酒店。

    聚合的功能非常强大以至于很多公司建立庞大的 Elasticsearch 集群的目的只是为了分析。

    参考

    elastic.co: Aggregations

  • 相关阅读:
    Navicat for MySQL下载、安装与破解
    javaweb之Cookie学习
    static特别用法【静态导包】——Java包的静态导入
    面试感悟----一名3年工作经验的程序员应该具备的技能
    致孩子
    java中的代码块是什么意思,怎么用
    ModelAttribute用法之一
    SpringMVC获取页面数据乱码的解决get/post
    总结过去10年的程序员生涯 (经验)---大神的建议
    hdu 5237 二进制
  • 原文地址:https://www.cnblogs.com/richaaaard/p/5311548.html
Copyright © 2020-2023  润新知