elasticsearch多级聚合查询

欢迎关注鄙人的公众号号,技术干货随时看!

elasticsearch多级聚合查询_第1张图片

 

**鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!**
-----
https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7

**《kibana权威指南》**
----
https://wenku.baidu.com/view/24cfee1ce43a580216fc700abb68a98270feac21

 

今天谈谈搜索中经常用到的一个功能:聚合。我们知道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" 
                  }
                }
            }
  }
  }
}

你可能感兴趣的:(搜索技术,大数据,elasticsearch)