使用 java REST API 将 elasticsearch 聚合转换为代码会出错

Conversion of elasticsearch aggregation into code using java REST API is giving error

这在 kibana 控制台中运行良好,没有任何错误

POST rangedattr_4_1/_search

{

"size": 0,

"aggs": {

"user_field": {
  "terms": {
    "field": "FRONTLINK_OBJECT_GUID",
    "size": 10
  },
  "aggs": {
    "group_members": {
      "max": {
        "field": "MERGED_LINKS_TYPE"
      }
    },
    "groupmember_bucket_filter": {
        "bucket_selector": {
            "buckets_path": {
              "groupmembers": "group_members"
            },
            "script": "params.groupmembers %2==1"
        }
    },
    "aggs":{
        "top_hits": {
          "size": 1
        }
  }

  }
}
}
}

但是当我将其转换为 java 代码时, 像这样:

      Map<String, String> bucketsPathsMap = new HashMap<>();
      bucketsPathsMap.put("bucketselector", "FRONTLINK_OBJECT_GUID");
      AggregationBuilder aggregation =AggregationBuilders
                .terms("aggs").field(linkBackGuid).size(100000)

               .subAggregation
                        (
                                AggregationBuilders.max("maxAgg").field("MERGED_LINKS_TYPE")
                        )

               .subAggregation
                        (
                                PipelineAggregatorBuilders.bucketSelector("bucket_filter", bucketsPathsMap, script)
                        )
                .subAggregation
                        (
                                    AggregationBuilders.topHits("top").size(1)
                        );

它给出了所有分片失败的错误

但是当我 运行 这个 :

            AggregationBuilder aggregation =AggregationBuilders
                .terms("aggs").field(linkBackGuid).size(100000)
                .subAggregation
                        (
                                AggregationBuilders.max("maxAgg").field("MERGED_LINKS_TYPE")
                        )
                  .subAggregation
                       (
                               AggregationBuilders.topHits("top").size(1)
                        );

它工作正常

根据我的信息,所有分片失败只会在文档损坏时发生。但正如我在这里看到的那样,Max-Aggregation 工作正常但同时 Bucket Selector Aggregation 出现错误

当我从

更改我的 bucketsPathsMap 时它起作用了
     bucketsPathsMap.put("bucketselector","FRONTLINK_OBJECT_GUID") 

 bucketsPathsMap.put("bucketselector","maxAgg")

其中 FRONTLINK_OBJECT_GUID 是一个字段,maxAgg 有桶