小编我想实现这样一个操作,c_group.id取值格式为 “100*”、 “101*”、 “102*”、 “103*” 而我想做的操作是,聚合时候只返回编号是 “101*”格式的数据。实现的核心代码是:在聚合下面加一个 “include”: "101.*"就可以。
aggs字段提供了过滤的功能,使用两种方式:include可以匹配出包含该值的文档,exclude则排除包含该值的文档。
语句:
GET /myindex/_search
{
"from": 0,
"size": 1,
"query": {
"bool": {
"must": [
{
"term": {
"my_time": {
"value": "2019-01-10 12:15:00"
}
}
},
{
"bool": {
"should": [
{
"range": {
"wireless_1_rate": {
"lte": 0.9
}
}
},
{
"range": {
"wireless_rate": {
"gte": 0.015
}
}
},
{
"range": {
"erab_1_rate": {
"gte": 0.015
}
}
},
{
"range": {
"uppk_rate": {
"gte": 0.015
}
}
},
{
"range": {
"uppkteul_rate": {
"gte": 0.015
}
}
},
{
"range": {
"ho_rate": {
"lte": 0.9
}
}
},
{
"range": {
"wireless_rate": {
"lte": 0.95
}
}
},
{
"range": {
"ulprb_rate": {
"gte": 0.7
}
}
},
{
"range": {
"dlprb_rate": {
"gte": 0.7
}
}
},
{
"range": {
"effennmean": {
"gte": 50
}
}
},
{
"range": {
"effecmax": {
"gte": 50
}
}
},
{
"range": {
"ho_rate": {
"lte": 0.9
}
}
},
{
"range": {
"_avg": {
"gte": -105
}
}
},
{
"range": {
"out_rate": {
"lte": 0.9
}
}
}
]
}
}
]
}
},
"aggs": {
"aggs_cell_group": {
"nested": {
"path": "cell_group"
},
"aggs": {
"duration_ranges": {
"terms": {
"field": "c_group.id",
"size": 100000 ,
"include": "101.*"
}
}
}
}
},
"_source": [
"ci"
]
}
运行结果: