elasticsearch多级聚合查询

来源:互联网 发布:人工智能的优点英语 编辑:程序博客网 时间:2024/06/01 09:53

今天谈谈搜索中经常用到的一个功能:聚合。我们知道elasticsearch作为当下流行的搜索引擎当然是支持聚合的

一级聚合:统计每个分类的商品数目:

"aggs": {
    "sample": {
      "terms": {
          "field": "category_path"
      }
  }

相信大家对这个语合都很熟悉,当然也可以用java API实现,client中有相关接口


但是如果要聚合 每个门每个分类下每个品牌的商品数呢!

其实elasticsearch提供了非常友好支持接口,就是聚合中嵌套聚合,可以多级嵌套!

 GET _search
{
"query" : {
"bool" : {
"must" : {
"multi_match" : {
"query" : "牛奶",
"fields" : ["item_no", "keyword"],
"operator" : "and"
}
},
"filter" : {
 "term" : { "status" : "1"}
}
}
},
"size" : 0,
"aggs": {
    "my_unbiased_sample": {
      "terms": {
          "field": "category_path"
      },
            "aggs" : {
                "playback" : 
                {
                  "terms" :{
                    "field" : "brand_id" 
                  }
                }
            }
  }
  }
}

原创粉丝点击