Необходимо указать размер агрегации terms
:
Map<String, BucketStats> hourAggregations = new HashMap<>();
SearchResponse getResponse = client.prepareSearch( ElasticSearchConstants.INDEX ).setTypes( ElasticSearchConstants.TABLE)
.addAggregation( AggregationBuilders.terms( "name")
.field( "empId" )
--> .size(100)
.subAggregation( AggregationBuilders.stats( "stats" )
.setQuery( query )
.setFrom( 0 )
.setSize( ( offset + 1 ) * 10 )
.execute().actionGet();
Вызов setSize()
влияет только на секцию hits
, т. Е. На документ, заданный в результатах, а не на агрегации. На мой взгляд, вы должны назвать setSize(0)
, потому что вам нужны только значения агрегации, а не документы.