zoukankan      html  css  js  c++  java
  • 35.分组聚合操作—bucket+metric

    主要知识点:

    • 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其实只是esbucket操作默认执行的一个内置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字段求平均值后的结果。

    这条语句类似mysqlsql:select avg(price) from tvs.sales group by color

  • 相关阅读:
    关于禁止浏览器的回退功能
    实时监听输入框值变化的完美方案:oninput & onpropertychange
    Sublime Text 3 快捷键精华版
    计算手动输入的文本长度
    ie的用户名密码输入框右侧提示去掉
    获取元素定位
    select option
    js打断点
    Android LaunchMode
    Gradle 使用第三方库总结
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8535792.html
Copyright © 2011-2022 走看看