Elasticsearch 的 buckets(桶)包含 Histogram、Date Histogram、Range、Date Range、Terms、IPv4 Range、Significant Terms 等;

1.Histogram:

SELECT * FROM INDEX-2017-12 GROUP BY (histogram('alias'='log_date.mthAggs', 'interval'='1', 'field'='log_date.mth'))
{
  "from" : 0,
  "size" : 0,
  "aggregations" : {
    "log_date.mthAggs" : {
      "histogram" : {
        "field" : "log_date.mth",
        "interval" : 1
      }
    }
  }
}
2.Date Histogram:

SELECT * FROM INDEX-2017-12 GROUP BY (date_histogram('format'='yyyy-MM', 'alias'='@timestampAggs', 'interval'='1M', 'field'='@timestamp'))
{
  "from" : 0,
  "size" : 0,
  "aggregations" : {
    "@timestampAggs" : {
      "date_histogram" : {
        "field" : "@timestamp",
        "interval" : "1M",
        "format" : "yyyy-MM"
      }
    }
  }
}
3.Range:

SELECT * FROM INDEX-2017-12 GROUP BY (range(log_date.mth,1,6,7,12))
{
  "from" : 0,
  "size" : 0,
  "aggregations" : {
    "range(log_date.mth,1,6,7,12)" : {
      "range" : {
        "field" : "log_date.mth",
        "ranges" : [ {
          "from" : 1.0,
          "to" : 6.0
        }, {
          "from" : 6.0,
          "to" : 7.0
        }, {
          "from" : 7.0,
          "to" : 12.0
        } ]
      }
    }
  }
}
4.Date Range:

SELECT * FROM INDEX-2017-12 GROUP BY (date_range('format'='yyyy-MM-dd', 'alias'='dateRangeAggs', 'field'='@timestamp','2017-01-01','2017-06-01','now-1M','now-1w','now-2d','now'))
{
  "from" : 0,
  "size" : 0,
  "aggregations" : {
    "dateRangeAggs" : {
      "date_range" : {
        "field" : "@timestamp",
        "ranges" : [ {
          "from" : "2017-01-01",
          "to" : "2017-06-01"
        }, {
          "from" : "2017-06-01",
          "to" : "now-1M"
        }, {
          "from" : "now-1M",
          "to" : "now-1w"
        }, {
          "from" : "now-1w",
          "to" : "now-2d"
        }, {
          "from" : "now-2d",
          "to" : "now"
        } ],
        "format" : "yyyy-MM-dd"
      }
    }
  }
}
5.Terms:

SELECT * FROM INDEX-2017-12 GROUP BY (terms('alias'='methodAggs', 'field'='method', 'size'=6))
{
  "from" : 0,
  "size" : 0,
  "aggregations" : {
    "methodAggs" : {
      "terms" : {
        "field" : "method",
        "size" : 6
      }
    }
  }
}
 6.IPv4 Range:

稍后补充...
7.Significant Terms:

暂时没找到求 Significant Terms 的 SQL 语句,只能用原生 ES 查询语句获取了;

ES 原生查询语句如下:

{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "query": "*",
            "analyze_wildcard": true
          }
        },
        {
          "range": {
            "@timestamp": {
              "gte": 1451297220869,
              "lte": 1514455620869,
              "format": "epoch_millis"
            }
          }
        }
      ],
      "must_not": []
    }
  },
  "_source": {
    "excludes": []
  },
  "aggs": {
    "2": {
      "significant_terms": {
        "field": "log.client.system",
        "size": 4
      }
    }
  }
}

通过 elasticsearch-sql 使用 SQL 语句聚合查询 Elasticsearch 获取各种 buckets 桶相关推荐

  1. elasticsearch aggregations_elasticsearch 笔记三 之聚合查询之分组计数、平均数、最大值、script、最小值、总和...

    本节 es 笔记目录如下: 分组计数 平均数 avg 最大值 max 最小值 min 总和 sum 此次笔记用到的数据还是前一节中导入的官方提供的bank数据,用到其他数据的,下面会提供导入方式. 首 ...

  2. [Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标)

    本章翻译自Elasticsearch官方指南的Aggregations-High-level Concepts一章. 高层概念(High-Level Concepts) 和查询DSL一样,聚合(Agg ...

  3. MySQL-获取有性能问题SQL的方法_慢查询 实时获取

    文章目录 生猛干货 官方文档 使用慢查询获取慢SQL 慢查询的相关参数 slow_query_log 是否开启了慢查询 开启慢查询 slow_query_log_file 指定慢查询日志的存储路径及文 ...

  4. 用sql的select语句从数据库中获取数据

    基本的select语句 select语句中的算数表达式和NULL值 列的别名 使用连接符操作,literal character strings,alternative quote operator, ...

  5. java es sql groupby_使用 SQL 查询 ElasticSearch EsParser

    软件介绍 还在为学习elasticsearch的api而苦恼吗?还在为完不成搜索任而烦恼吗? EsParser帮你解决上面的问题,它完全可以作为mysql来使用,提高网站的访问速度,提高项目的开发效率 ...

  6. 23-动态SQL之IF语句

    动态SQL之IF语句 接口 //查询博客List<Blog> queryBlogIF(Map map); 对应的xml <?xml version="1.0" e ...

  7. Elasticsearch 4: 相关性检索和组合查询

    目录 1. 相关性评分 2. 相关度模型 2.1 布尔模型 2.2 向量空间模型 2.3 概率模型 2.4 语言模型 3. TF/IDF 4. BM25 4.1 词频饱和度 4.2 长度归一化 5. ...

  8. Elasticsearch 实现类似SQL语句中like %关键字% 的单纯模糊查询(不进行分词)

    一.前言 1.1 需求描述 用Elasticsearch 实现类似SQL中like的功能('%aaa%'),查询数据时,要前后模糊匹配,不要分词(用户输入AAA,检索的结果中AAA需要连在一起,不能是 ...

  9. 【Elasticsearch】Elasticsearch如何实现 SQL语句中 Group By 和 Limit 的功能

    1.概述 转载:https://elasticsearch.cn/article/629 有 SQL 背景的同学在学习 Elasticsearch 时,面对一个查询需求,不由自主地会先思考如何用 SQ ...

最新文章

  1. php中将数据加入到文件中
  2. centos6.6上安装beef
  3. mybatis和hibernate的区别---Mybatis的学习笔记(四)
  4. 部署php项目到linux
  5. HDU 6356.Glad You Came-线段树(区间更新+剪枝) (2018 Multi-University Training Contest 5 1007)...
  6. sbt命令行常用命令
  7. SharePoint 2013技巧分享系列 - 隐藏Blog和Apps左侧导航菜单
  8. 原创的一份游戏创意案
  9. 5个小技巧,让你的for循环瞬间高大上!
  10. 5G技术是如何改变我们的生活
  11. ElementUI上传文件和额外参数
  12. 新建word文档,最上方页眉处总是自己出现一条横线,去除方法总结
  13. formidable词根词缀_实用文档之英语单词(词根词缀)
  14. “background-image:url(data:image”data类型的Url格式简介
  15. 【用户投稿】优麒麟社区懒人版本(含软件全家桶)一键安装
  16. 《牧羊少年奇幻之旅》读后感
  17. python 百度搜索结果 浏览器 和终端不一致_python自动爬取百度搜索结果
  18. [Kong 与 Konga 与 Postgres数据库] 之 Kuberneres 部署
  19. 利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群
  20. Android 谷歌输入法安装包

热门文章

  1. oracle 全球副总裁,京东商城CTO:原Oracle全球副总裁坐阵
  2. 适合程序员的优秀学习类网站
  3. Java学习(1) JDK安装及环境配制
  4. 按键添加震动功能。设置-》应用和通知-》通知-》高级-》勿扰模式立即开启按钮放置界面首行。
  5. JAVA基础(索引越界and空指针)
  6. 产业分析:私域流量白皮书
  7. 2023年江苏专转本成绩查询步骤
  8. 摩尔庄园手游|摩尔庄园这些壁纸你拥有了吗?
  9. yii框架学习(一)yii框架介绍
  10. IT企业文化の东方通信