我收到了产品文件。产品看起来像:
{
"_index": "1",
"_type": "product",
"_id": "1",
"_source": {
"group": "g1"
"exist": true
}
}
我正在尝试获取(所有产品的)组列表 - 但只有这些如何满足"exist" == true
(至少有一个现有产品的组)
我试过了:
{
"size": 0,
"aggs" : {
"_source" : {
"terms" : {
"field" : "group"
}
}
}
}
返回带有计数的组列表(这也是多余的,可能需要花费额外的时间来计算),但我正在尝试添加"exist"=true
的条件/查询。
注意:我正在使用弹性搜索1.4
答案 0 :(得分:1)
将Filtered aggregation添加到术语聚合将确保仅显示存在true
的组。
为了提高性能,请确保" group"字段未经过分析"
示例:
{
"size": 0,
"aggs": {
"exist_group": {
"filter": {
"term": {
"exist": "true"
}
},
"aggs": {
"groups": {
"terms": {
"field": "group"
}
}
}
}
}
}