POST /nba/_search
{
"query": {
"term": {
"teamNameEn.keyword": {
"value": "Rockets"
}
}
},
"aggs": {
"counAget": {
"cardinality": {
"field": "playYear"
}
}
},
"size": 0
}
@Test
public void test04() throws IOException {
SearchRequest searchRequest = new SearchRequest("nba");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
TermsAggregationBuilder field = AggregationBuilders.terms("teamName").field("teamName.keyword").size(200);
CardinalityAggregationBuilder cardinalityAggregationBuilder = AggregationBuilders.cardinality("playYear").field("playYear");
TermsAggregationBuilder termsAggregationBuilder = field.subAggregation(cardinalityAggregationBuilder);
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());
Cardinality cardinality = (Cardinality) bucket.getAggregations().asMap().get("playYear");
double value = cardinality.getValue();
System.out.println("cardinality is "+value);
}
}
}