[英]Spring data Elasticsearch to convert Elasticsearch aggregation query into code
{
"query": {
"bool": {
"must": [
{
"term": {
"id": {
"value": 1111
}
}
}
]
}
},
"aggs": {
"sequence": {
"terms": {
"field": "sequence.keyword"
},
"aggregations": {
"amount": {
"sum": {
"field": "amount"
}
}
}
},
"totalAmount": {
"sum_bucket": {
"buckets_path": "sequence>amount"
}
}
}
}
Spring Data ElasticSearch 3.2
final SearchQuery searchQuery =
new NativeSearchQueryBuilder()
.withQuery(QueryHelper.boolQueryBuilder(id))
.addAggregation(
terms("sequence")
.field("sequence.keyword")
.subAggregations(subAggregations()))
.addAggregation(sumBucket("sum_bucket", "sequence>amount"))
.build();
现在,由于 NativeSearchQueryBuilder 的 addAggregation 方法接受 AbstractAggregationBuilder 并且 sumBucket 是 PipelineAggregationBuilder 类型,由于编译错误,无法将此值传递给 addAggregation(sumBucket("sum_bucket", "sequence>amount")),任何想法如何使用 sumBucket术语聚合和用java编写?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.