POST /nba/_search
{
"query": {
"term": {
"teamNameEn.keyword": {
"value": "Rockets"
}
}
},
"aggs": {
"countPlayerYear": {
"value_count": {
"field": "playYear"
}
}
},
"size": 0
}
@Test
public void test02() throws IOException {
SearchRequest searchRequest = new SearchRequest("nba");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
TermsAggregationBuilder field = AggregationBuilders.terms("teamName").field("teamName.keyword").size(200);
ValueCountAggregationBuilder valueCountAggregationBuilder = AggregationBuilders.count("playYear").field("playYear");
TermsAggregationBuilder termsAggregationBuilder = field.subAggregation(valueCountAggregationBuilder);
searchSourceBuilder.aggregation(termsAggregationBuilder);
searchRequest.source(searchSourceBuilder);
SearchResponse search = client.search(searchRequest, RequestOptions.DEFAULT);
Aggregations aggregations = search.getAggregations();
for(Aggregation a:aggregations){
Terms terms = (Terms) a;
for(Terms.Bucket bucket:terms.getBuckets()){
System.out.println("key is "+bucket.getKeyAsString());
ValueCount valueCount = (ValueCount) bucket.getAggregations().asMap().get("playYear");
double value = valueCount.getValue();
System.out.println("value is "+value);
}
}
}