连续聚合elasticsearch java API

Successive aggregation elasticsearch java API

我在搜索请求中有一组连续的聚合:

"aggs": {
    "nested_max": {
        "nested": {
            "path": "questionResponses"
        },
        "aggs": {
            "filter_max": {
                "filter": {
                    "term": {
                        "questionResponses.key": "announcement.question.tri"
                }
            },
            "aggs": {
                "agg_max": {
                    "max": {
                        "field": "questionResponses.numericValue"
                    }
                }
            }
        }
    }
}

谁能帮我把这一段请求翻译成 java 代码: 我做了什么(但不起作用):

   NestedAggregationBuilder maxAggregation = 
AggregationBuilders.nested("nested_max", questionResponses)
                   .subAggregation(AggregationBuilders.filter("filter_max", QueryBuilders.termQuery("announcement.question.tri", "announcement.question.tri")))
                   .subAggregation(AggregationBuilders.max("agg_max").field("questionResponses.numericValue"));

您应该将 agg_max 子聚合添加到 filter_max 聚合。

filterMax = AggregationBuilders.filter(....);
aggMax = AggregationBuilders.max("agg_max")..;

NestedAggregationBuilder maxAggregation = 
AggregationBuilders.nested("nested_max", questionResponses)
                   .subAggregation(aggFilterMax.subAggregation(aggMax));