主要知识点:

  • 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

最新文章

  1. 剑指Offer面试题:29.丑数
  2. 自动爬取ZiMuZu的内容发布到Wordpress
  3. Android AsyncTask异步任务(二)
  4. 关于adb shell getprop相关
  5. 到底instanceof是啥?
  6. C++ 初始化与赋值
  7. oracle 11g rac 修改字符集
  8. 【转】Eclipse Java注释模板设置详解
  9. document.body的一些用法以及js中的常见问题
  10. Visual Studio 2017正式版使用一些疑问
  11. Linux学习之路 -- 简单日常使用命令
  12. Oracle集合操作
  13. [HNOI 2016]大数
  14. Reinforcement Learning: An Introduction读书笔记(3)--finite MDPs
  15. HDU 5377 (Exgcd + 原根)
  16. dataGridView使用指南系列一、回车换行或换列完美解决方案
  17. 每天CSS学习之caption-side
  18. hasura graphql-engine v1.0.0-alpha30 版本新功能介绍
  19. Maven install报MojoFailureException
  20. xshell 设置右键粘贴

热门文章

  1. 怎样对Android设备进行网络抓包
  2. 第一章 Java Collections Framework总览
  3. TCP传输工作原理
  4. 关于linux的用户
  5. Coursera Algorithms week3 快速排序 练习测验: Selection in two sorted arrays(从两个有序数组中寻找第K大元素)
  6. oracle数据库简单操作
  7. yii2的form表单用法
  8. HyperLedger Fabric部署与链码解读
  9. spring boot打包文件后,报错\No such file or directory
  10. java 多线程并发系列之 生产者消费者模式的两种实现