簡體   English   中英

類型為FilterAggregationBuilder的方法filter(FilterBuilder)不適用於參數(BoolQueryBuilder)

[英]The method filter(FilterBuilder) in the type FilterAggregationBuilder is not applicable for the arguments (BoolQueryBuilder)

我試圖首先通過ipgroup然后通過優先級對彈性查詢進行分組和分組。

TermsBuilder ipGroupAgg = AggregationBuilders.terms("by_ipGroup").field("IP Group")
                .subAggregation(AggregationBuilders.terms("by_Priority").field("Priority"));
        // create the bool filter for the condition above
        String[] priority= { "2", "3" };
        BoolQueryBuilder aggFilter = QueryBuilders.boolQuery().must(QueryBuilders.termsQuery("Priority", priority));

        // create the filter aggregation and add the year sub-aggregation
        FilterAggregationBuilder aggregation = AggregationBuilders.filter("agg").filter(aggFilter).subAggregation(ipGroupAgg );

但是最后一條語句給出了編譯錯誤,指出“針對filter(aggFilter)的 FilterAggregationBuilder類型的filter(FilterBuilder)方法不適用於參數(BoolQueryBuilder)”

您可能使用的是舊版ES,我的膽量告訴我1.7或更早的版本...在這種情況下,您需要使用以下代碼創建aggFilter

    BoolFilterBuilder aggFilter = FilterBuilders.boolFilter().must(FilterBuilders.termsFilter("Priority", priority));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM