您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch基数聚合(类mysql的count)-关键字段
发布时间:2021-09-02 21:53:16编辑:雪饮阅读()
在elasticSearch中有类似mysql中count的聚合,在这里称为基数聚合。基数聚合又有分关键字(关键字字段)聚合和非关键字字段聚合。
这里首先介绍下简单的关键字字段的聚合。
一个请求:
请求正文:
{
"aggs": {
"id_count": {
"cardinality": {
"field": "_id"
}
}
}
}
响应正文:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 2,
"successful": 2,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 7,
"relation": "eq"
},
"max_score": null,
"hits": []
},
"aggregations": {
"id_count": {
"value": 5
}
}
}
这里匹配搜索了所有以schools开头的索引中的所有文档,并按id进行了和mysql中count相同的聚合功能,也就是说按id排重统计了不重复的id数量。
那么这里:
{
"aggs": {
"id_count": {
"cardinality": {
"field": "_id"
}
}
}
}
Id_count是可以自己定义的聚合字段名,field指定你要进行聚合计算所用的关键字字段名。
这里所谓的关键字字段指的其实就是自己索引文档成功之后发现有些字段不是你创建的而是系统创建的,你自己创建的字段在_source中。
就我理解,像是这些都是关键字字段
关键字词:elasticSearch,基数,聚合,关键字