【发布时间】:2015-10-06 21:52:49
【问题描述】:
我只是想仔细检查一下我是否没有遗漏任何内容。在 ElasticSearch 1.4 中,不可能对聚合结果运行任何类型的服务器端过滤,对吗?例如,我有一个平均百分比聚合(0 ..),我想删除结果中高于 0.9 的所有内容。
使用 ES 2.0 reducer,这似乎是可能的,或者现在在客户端,但这都需要非常高的术语计数(最终全部)来解决这个问题。
我错过了 ES 1.4 的方法来实现这一点吗?
这里是一个例子:
{
"aggs": {
"group": {
"terms": {
"field": "contextRaw.site_city",
"order": {
"result": "desc"
}
},
"aggs": {
"result": {
"avg": {
"field": "somePercentage"
}
}
}
}
}
}
结果是现在小桶也以 1.0 的百分比居于首位,而我对那些不感兴趣,但对低于 0.9 的那些不感兴趣。
"aggregations": {
"group": {
"doc_count_error_upper_bound": -1,
"sum_other_doc_count": 5924518,
"buckets": [
{
"key": "value A",
"doc_count": 3921,
"result": {
"value": 1
}
},
{
"key": "value B",
"doc_count": 312,
"result": {
"value": 1
}
},
【问题讨论】:
标签: elasticsearch filter aggregation