35.分组聚合操作—bucket+metric
2024-10-01 01:51:47
主要知识点:
- bucket+metric 计算分种颜色的电视的平均价格
语法:
GET /tvs/sales/_search
{
"size" : 0,
"aggs": {
"colors": {
"terms": {
"field": "color"
},
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
}
}
}
}
}
这条语句的意思就是:按照color去分bucket,可以拿到每个color bucket中的数量,这个仅仅只是一个bucket操作,doc_count其实只是es的bucket操作默认执行的一个内置metric。接下来在一个aggs中执行的bucket操作(terms)下,平级的json结构下,再加一个aggs,这个第二个aggs内部,同样取个名字,执行一个metric操作(本例对之前的每个bucket中的数据的指定的field也就是price 求一个平均值(avg)操作),这条语句前部分是bucket操作,后部分是metric操作。
执行结果如下(部分)
"aggregations": {
"group_by_color": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "红色",
"doc_count": 4,
"avg_price": {
"value": 3250
}
},
value:就是metric计算的结果,每个bucket中的数据的price字段求平均值后的结果。
这条语句类似mysql的sql:select avg(price) from tvs.sales group by color
最新文章
- 剑指Offer面试题:29.丑数
- 自动爬取ZiMuZu的内容发布到Wordpress
- Android AsyncTask异步任务(二)
- 关于adb shell getprop相关
- 到底instanceof是啥?
- C++ 初始化与赋值
- oracle 11g rac 修改字符集
- 【转】Eclipse Java注释模板设置详解
- document.body的一些用法以及js中的常见问题
- Visual Studio 2017正式版使用一些疑问
- Linux学习之路 -- 简单日常使用命令
- Oracle集合操作
- [HNOI 2016]大数
- Reinforcement Learning: An Introduction读书笔记(3)--finite MDPs
- HDU 5377 (Exgcd + 原根)
- dataGridView使用指南系列一、回车换行或换列完美解决方案
- 每天CSS学习之caption-side
- hasura graphql-engine v1.0.0-alpha30 版本新功能介绍
- Maven install报MojoFailureException
- xshell 设置右键粘贴