主要知识点
- 学习搜索+聚合的知识
本节学习搜索+聚合知识,也就是搜索和聚合结合起来使用。类似于mysql中的
select count(*) from tvs.sales where brand like "%小米%" group by color
在es 任何的聚合,都必须在搜索出来的结果数据中之行,搜索结果就是聚合分析操作的scope
语法:
GET /tvs/sales/_search
{
"size": 0,
"query": {"term": {"brand": {"value": "小米"}}},
"aggs": {"group_by_color": {"terms": {"field": "color"}}}
}
这样写就可以很好的看出语句之间的层级关系
执行结果如下:
"aggregations": {
"group_by_color": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "绿色",
"doc_count": 1
},
{
"key": "蓝色",
"doc_count": 1
}
]
}
}
}