聚合能力

  • Aggregation API 类似 SQL 中的 GROUP BY 语句,可以以某个字段来进行分组。
  • Aggregation API 支持分级分组,多级的分组过程是由外到里的。
  • Aggregation API 除了分组功能,依据 API 的不同也能对每一组数据进行不同的分析(比如计数/求和等)。

搜索示例

搜索语句

{"aggs": {"1111111": {"filter": {},"aggs": {"2222222": {"date_histogram": {"field": "基本.上报时间","interval": "1M"},"aggs": {"333333": {"cardinality": {"field": "基本.网关"}}}}}}}
}

搜索结果

解释:

  1. 由于 11111 并没有执行实际的搜索(包含了一个空的 filter 和 aggs 2222),所以 1111 并没有对原始数据进行任何处理,而是直接进入第二个 aggs 【最外层聚合】
  2. 由于 22222 使用了 date_histogram 聚合语句,所以把数据按月聚集在一起,每一个子对象中还做了个数量统计: "doc_count": 3 【中间层聚合】
  3. 由于 33333 使用了 cardinality 聚合语句,所以把由 22222 输出的 buckets 中的每个子对象,再执行 uniq 操作,并得出去重后的数量: "value": 1 【最里层聚合】
{"took": 1,"timed_out": false,"_shards": {"total": 1,"successful": 1,"failed": 0},"hits": {"total": 26,"max_score": 0,"hits": []},"aggregations": {"1111111": {"2222222": {"buckets": [{"333333": {"value": 1},"key_as_string": "2016/03/01 00:00:00","key": 1456790400000,"doc_count": 3},......{"333333": {"value": 1},"key_as_string": "2016/12/01 00:00:00","key": 1480550400000,"doc_count": 3}]},"doc_count": 26}}
}

转载于:https://www.cnblogs.com/licongyu/p/5312020.html

Elasticsearch aggregations API相关推荐

  1. 【转载】Elasticsearch客户端API使用Demo

    Elasticsearch客户端API使用Demo, 转载自官方文档, 以索引雇员文档为示例, 在命令行使用curl演示了一系列的Restful API操作. 1.索引雇员文档 第一个业务需求就是存储 ...

  2. ElasticSearch搜索引擎API笔记

      ElasticSearch搜索引擎API笔记 1. pom.xml <dependency> <groupId>org.elasticsearch.client</g ...

  3. Elasticsearch Java API 分组、聚合、嵌套相关查询

    Elasticsearch Java API 分组.聚合.嵌套相关查询 翼支付监控系统正使用es做后端存储,这边我们是将日志计算处理过后的数据通过kafka储存到es.选择用es作为数据储存端是考虑到 ...

  4. Elasticsearch8.0版本中Elasticsearch Java API Client客户端的基本使用方法

    关于Elasticsearch Java API Client客户端如何连接以及如何对索引和文档进行基本的增删改查操作请查看我的上一篇博文:Elasticsearch RestHighLevelCli ...

  5. Elasticsearch Java API 6.2(java client)

    前言 本节描述了Elasticsearch提供的Java API,所有的Elasticsearch操作都使用客户端对象执行,所有操作本质上都是完全异步的(要么接收监听器,要么未来返回). 此外,客户端 ...

  6. Elasticsearch Javascript API增删改查

    查询 根据索引.类型.id进行查询: client.get({ index:'myindex', type:'mytype', id:1 },function(error, response){// ...

  7. ElasticSearch Java Api(四) -删除索引

    删除可以是删除整个索引库,也可以根据文档id删除索引库下的文档,还可以通过query查询条件删除所有符合条件的数据. 一.删除整个索引库 下面的例子会删除indexName索引: DeleteInde ...

  8. ElasticSearch Java Api(一) -创建索引

    ElasticSearch Java API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/jav ...

  9. Elasticsearch Java API四种实现方式

    0.题记 之前Elasticsearch的应用比较多,但大多集中在关系型.非关系型数据库与Elasticsearch之间的同步.以上内容完成了Elasticsearch所需要的基础数据量的供给.但想要 ...

最新文章

  1. 布巴内斯瓦尔成智慧城市 印小城何以“智慧”
  2. Network 之一 国际标准组织介绍、互联网/因特网、以太网概念区分、协议标准
  3. python字典编码_python中包含UTF-8编码中文的列表或字典的输出
  4. 隐藏响应的server,X-Powered-By
  5. vscode 乱码_如何使用VS Code 编辑Keil项目(51/STM32)
  6. 数据结构和算法详解(二)——线性表(数组、链表、栈、队列)
  7. 2021年安全员-B证-项目负责人(广东省)考试题及安全员-B证-项目负责人(广东省)考试总结
  8. AC自动机(Automaton)
  9. 不同计算机打印机共享,不同系统之间设置打印机共享
  10. 一种绘制有向图的方法<TSE93> - 1. 引言
  11. python写采集程序_python实现简易采集爬虫
  12. 关于HTML中的滚动条
  13. Position 的四种属性值
  14. 基于卷积神经网络和投票机制的三维模型分类与检索 2019 论文笔记
  15. 【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)
  16. 通用型系统架构设计(多图)
  17. 传统激光条纹中心提取算法研究现状
  18. 华为如何选拔优秀管理者--任正菲
  19. 微信错误集锦 PHP ThinkPHP 方法
  20. 计算机操作什么用到3次剪贴板,如何清空剪切板 三大实用方法介绍【图解】

热门文章

  1. sqlalchemy 事务
  2. XMLHttpRequestEventTarget
  3. 如何更改html广告,js 动态改变广告代码DIV的位置_原生JS通过innerHTML改变div位置...
  4. php 压缩js css文件,PHP实现动态压缩js与css文件的方法
  5. python语言在命名上是什么敏感的_一文轻松掌握python语言命名规范规则
  6. php中如何滚动文字,HTML_网页HTML代码:滚动文字的制作,制作滚动文字 通过本章前面 - phpStudy...
  7. Nutanix:在云转型的道路上飞奔
  8. Go 语言学习总结(4)—— 为什么说 Golang 是面向未来的语言?
  9. 算法学习总结(3)——二叉树数据结构重点知识总结
  10. Spring MVC学习总结(18)——SpringMVC事务Transactional注解使用总结