/**
* 查询某个字段中字段值的基数(种类)
*/
@Test
public void cardinality(){
SearchResponse response = client.prepareSearch(indexName).setTypes(typeName)
.addAggregation(AggregationBuilders.cardinality("userAgg").field("user.keyword"))
.get();
Cardinality userAgg = response.getAggregations().get("userAgg");
System.out.println(userAgg.getValue());
}
其作用是对选择字段先执行类似sql中的distinct操作,去掉集合中的重复项,然后统计排重后的集合长度。