我有一个名字字段,想要将所有名字统计在一起,不包括一个名字。
我使用聚合来获取具有给定名称(此处为Xman)的所有文章的计数:
{
"query": {
"wildcard": {
"_all": "*"
}
},
"aggs": {
"lawyerNameXmanCount": {
"terms": {
"field": "lawyerName",
"include": "Xman"
}
}
}
}
我只是需要否定上述查询,但现在这并不容易。
我的目标是将所有其他名字汇总在一起。
我尝试使用过滤器聚合等不同的东西,没有 - 必须过滤但没达到我的目标。
答案 0 :(得分:0)
来自elasticsearch guide的文字。
可以过滤将为其创建存储桶的值。 这可以使用include和exclude参数来完成 基于正则表达式。
这是json,
{
"aggs" : {
"tags" : {
"terms" : {
"field" : "tags",
"include" : ".*sport.*",
"exclude" : "water_.*"
}
}
}
}
并且,如果你想计算除了一个以外的所有数据,那么你可以使用不过滤和心形聚合(它给你估计总和),但这只是直接的方式(添加个别计数)来获得实际总和。
希望这有帮助!! ,谢谢,