码迷,mamicode.com
首页 > 其他好文 > 详细

简单聚合查询

时间:2018-02-12 22:20:33      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:rom   简单   log   class   设置   再计算   search   get   arc   

首先将文本field的fielddata属性设置为true,否则会报错
PUT /ecommerce/_mapping/product
{
  "properties" : {
    "tags" : {
      "type" : "text",
      "fielddata" : true
    }
  }
}

1、计算每个tag下的商品数量
GET /ecommerce/product/_search
{
  "size" : 0,
  "aggs" : {
    "all_tags" : {
      "terms" : { "field" : "tags" }
    }
  }
}

2、对名称中包含yagao的商品,计算每个tag下的商品数量
GET /ecommerce/product/_search
{
  "size" : 0,
  "query" : {
    "match" : {"name" : "yagao"}
  },
  "aggs" : {
    "all_tags" : {
      "terms" : { "field" : "tags"}
    }
  }
}

3、先分组,再计算每组的平均值。计算每个tag下的商品的平均价格
GET /ecommerce/product/_search
{
  "size" : 0,
  "aggs" : {
    "group_by_tags" : {
      "terms" : { "field" : "tags" },
      "aggs" : {
        "avg_price" : {
          "avg" : { "field" : "price" }
        }
      }
    }
  }
}

4、计算每个tag下的商品的平均价格,并且按照平均价格降序排序
GET /ecommerce/product/_search
{
  "size" : 0,
  "aggs" : {
    "all_tags" : {
      "terms" : {"filed" : "tags","order" : {"avg_price" : "desc"}},
      "aggs" : {
        "avg_price" : {
          "avg" : {"field" : "price" }
        }
      }
    }
  }
}

5、按照指定的价格范围区间进行分组,然后在每组内再按照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" : 60
          }
        ]
      },
      "aggs" : {
        "group_by_tags" : {
          "terms" : {"field" : "tags"},
          "aggs" : {
            "avg_price" : {
              "avg" : {
                "field" : "price"
              }
            }
          }
        }
      }
    }
  }
}

简单聚合查询

标签:rom   简单   log   class   设置   再计算   search   get   arc   

原文地址:https://www.cnblogs.com/qinjf/p/8445655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!