zoukankan      html  css  js  c++  java
  • elasticsearch聚合函数

    计算每个tag下的商品数量

    GET /ecommerce/product/_search

    {

      "aggs": {  //聚合

        "group_by_tags": { //聚合任意名字

          "terms": { "field": "tags" }  //terms分组字段得到分组数量

        }

      }

    }

    对名称中包含yagao的商品,计算每个tag下的商品数量

    GET /ecommerce/product/_search

    {

      "size": 0,

      "query": {

        "match": {

          "name": "yagao"

        }

      },

      "aggs": {

        "all_tags": {

          "terms": {

            "field": "tags"

          }

        }

      }

    }

    先分组,再算每组的平均值,计算每个tag下的商品的平均价格

    GET /ecommerce/product/_search

    {

        "size": 0,

        "aggs" : {

            "group_by_tags" : {

                "terms" : { "field" : "tags" },

                "aggs" : {

                    "avg_price" : {  //起分组名字

                        "avg" : { "field" : "price" }  //avg聚合函数

                    }

                }

            }

        }

    }

    计算每个tag下的商品的平均价格,并且按照平均价格降序排序

    GET /ecommerce/product/_search

    {

        "size": 0,

        "aggs" : {

            "all_tags" : {

                "terms" : { "field" : "tags", "order": { "avg_price": "desc" } },

                "aggs" : {

                    "avg_price" : {

                        "avg" : { "field" : "price" }

                    }

                }

            }

        }

    }

    按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组的平均价格

    GET /ecommerce/product/_search

    {

      "size": 0,

      "aggs": {

        "group_by_price": {

          "range": {

            "field": "price",

            "ranges": [

              {

                "from": 0,

                "to": 20

              },

              {

                "from": 20,

                "to": 40

              },

              {

                "from": 40,

                "to": 50

              }

            ]

          },

          "aggs": {

            "group_by_tags": {

              "terms": {

                "field": "tags"

              },

              "aggs": {

                "average_price": {

                  "avg": {

                    "field": "price"

                  }

                }

              }

            }

          }

        }

      }

    }

  • 相关阅读:
    镜像转换:img转换为iso
    IDM的谷歌插件安装
    Adams和UG许可证冲突问题
    步进电机驱动总结
    比赛官网收集
    树莓派安装pip包管理工具
    光固化打印后处理过程
    Arduino 串口库函数
    六足蜘蛛机器人行走控制
    温湿度传感器DHT11程序示例
  • 原文地址:https://www.cnblogs.com/kesimin/p/9559946.html
Copyright © 2011-2022 走看看