elasticsearch - 如何在 java api 中制作桶过滤器
elasticsearch - how to make bucket filter in java api
我做了一些类似下面的 elasticsearch 查询,效果很好。
"aggregations" : {
"agg_sum" : {
"sum" : {
"field" : "cnt"
}
},
"bucket_filter": {
"bucket_selector": {
"buckets_path": {
"totalSales": "agg_sum"
},
"script": "totalSales >= 10"
}
}
}
需要转换为javaapi查询,但不知道如何转换"buckets_filter"。知道这个吗?
BucketSelector
在 java api 中是这样的:
Map<String, String> bucketsPathsMap = new HashMap<>();
bucketsPathsMap.put("ags", "agg_sum");
Script script = new Script("params.ags > 10");
BucketSelectorPipelineAggregationBuilder bs =
PipelineAggregatorBuilders.bucketSelector("bucket_filter", bucketsPathsMap, script);
AggregationBuilders.subAggregation(bs);
这可能为时已晚,只是为了同样的问题。
我做了一些类似下面的 elasticsearch 查询,效果很好。
"aggregations" : {
"agg_sum" : {
"sum" : {
"field" : "cnt"
}
},
"bucket_filter": {
"bucket_selector": {
"buckets_path": {
"totalSales": "agg_sum"
},
"script": "totalSales >= 10"
}
}
}
需要转换为javaapi查询,但不知道如何转换"buckets_filter"。知道这个吗?
BucketSelector
在 java api 中是这样的:
Map<String, String> bucketsPathsMap = new HashMap<>();
bucketsPathsMap.put("ags", "agg_sum");
Script script = new Script("params.ags > 10");
BucketSelectorPipelineAggregationBuilder bs =
PipelineAggregatorBuilders.bucketSelector("bucket_filter", bucketsPathsMap, script);
AggregationBuilders.subAggregation(bs);
这可能为时已晚,只是为了同样的问题。