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

Elasticsearch桶聚合和管道聚合

1. 根据名称统计数量 

GET order/_search
{"_source": false,"aggs": {"aggs_name": {  // 自定义查询结果名称"terms": {  // 使用的函数"field": "name.keyword"}}}
}查询结果例子:
"aggregations" : {"aggs_name" : {"doc_count_error_upper_bound" : 0,"sum_other_doc_count" : 0,"buckets" : [{"key" : "张三","doc_count" : 3},{"key" : "李四","doc_count" : 6}]}
}

2. 根据名称和级别统计数量

GET order/_search
{"_source": false,"aggs": {"aggs_name": {"multi_terms": {"terms": [{"field": "name.keyword"},{"field": "level.keyword"}]}}}
}

3. 根据名称分组,再根据价格区间分组,然后统计数量

GET order/_search
{"_source": false,"aggs": {"aggs_name": {"terms": {"field": "name.keyword"},"aggs": {"aggs_price_count": {"range": {"field": "price","ranges": [{"from": 1000,"to": 3000},{"from": 3000}]}}}}}
}

  4. 根据名称分组,然后取各组的最大值,然后取各组最大值的平均值

GET order/_search
{"_source": false,"aggs": {"aggs_term": { // 桶聚合分组"terms": {"field": "name.keyword"},"aggs": {"aggs_max_price": {  // 指标聚合取最大值"max": {"field": "price"}}}},"pip_avg":{ // 管道聚合求最大值的平均值"avg_bucket": {"buckets_path": "aggs_term>aggs_max_price" // 取值的桶的路径地址 >也可以用.代替:aggs_term.aggs_max_price}}}
}

5. 多个指标聚合查询,stats是max,min,avg,sum,count合并的查询语法

GET order/_search
{"_source": false,"aggs": {"aggs_term": {"terms": {"field": "name.keyword"},"aggs": {"aggs_max_price": {"max": {"field": "price"}},"aggs_avg_price": {"avg": {"field": "price"}},"aggs_all": {"stats": {"field": "price"}}}}}
}
查询结果:
"buckets" : [{"key" : "name1","doc_count" : 3,"aggs_avg_price" : {"value" : 2000.0},"aggs_max_price" : {"value" : 3000.0},"aggs_all" : {"count" : 3,"min" : 1000.0,"max" : 3000.0,"avg" : 2000.0,"sum" : 6000.0}},{"key" : "name2","doc_count" : 3,"aggs_avg_price" : {"value" : 3666.6666666666665},"aggs_max_price" : {"value" : 6000.0},"aggs_all" : {"count" : 3,"min" : 2000.0,"max" : 6000.0,"avg" : 3666.6666666666665,"sum" : 11000.0}}
]

http://www.lryc.cn/news/255443.html

相关文章:

  • 联想范建平:联想混合AI架构具备两大明显优势
  • 探索Spring事件监听机制的奇妙世界
  • 什么是散列函数
  • tomcat反序列化
  • flask 请求勾子实现 request_auth认证
  • 【STM32入门】3.OLED屏幕
  • python圣诞树代码编程
  • js数组删除某个元素
  • hbuilder + uniapp +vue3 开发微信云小程序
  • 服务器配置免密SSH
  • 2023 开发人员生态系统现状信息图:《开发者生态系统现状报告》
  • TCP协议实现一对一聊天
  • python使用conda管理多个环境
  • 实现个微机器人的二次开发
  • Android 记录一些Framework开发的命令
  • Ant Design Vue 年选择器
  • AGM CPLD 应用指南
  • (1)词法分析器
  • 丢掉破解版,官方免费了!!!
  • Termux
  • yolo目标检测+目标跟踪+车辆计数+车辆分割+车道线变更检测+速度估计
  • 基于Java酒店管理系统
  • GoLong的学习之路,进阶,微服务之原理,RPC
  • vLLM介绍
  • DevOps搭建(一)-之swappiness安装详细步骤
  • 微软发布Orca2,“调教式”教会小规模大语言模型如何推理!
  • JVM 内存回收算法
  • 11.28~11.29基本二叉树的性质、定义、复习;排序算法;堆
  • 轮播插件Slick.js使用方法详解
  • postgresql pg_hba.conf 配置详解