在Elasticsearch中,如何在聚合级别应用过滤器

时间:2015-11-16 10:38:47

标签: java elasticsearch aggregate

我目前正在使用termsfilter然后聚合来过滤匹配,然后应用聚合。有没有办法可以为所有聚合提供一个通用过滤器,在聚合级别有一个过滤器(术语聚合)?

注意:我不是在寻找聚合过滤器/过滤器,因为它不会在必填字段上返回桶,而且我不是在寻找post_filter。

先谢谢..

1 个答案:

答案 0 :(得分:0)

我从其他问题得到答案 How to filter an elasticsearch global aggregation?

{
    "query":{
        "filtered":{
            "filter":{ "terms":{ "family_name":"Brown" } } //filter_1
        }
    },
    "aggs":{
        "young_age":{
            "filter":{
                "range":{ "lt":40, "gt":18 } //filter_2
            },
            "aggs":{
                "age":{
                    "terms":{
                        "field":"age"
                    }
                }
            }
        }
    }
}