I like "Composite Aggregation" - good addition and thanks. 
Is there Java API for this? If not, any plan for Transport, Rest Client ... ?
For queries, we are using Transport API (with Elasticsearch 5.6) now and planning to migrate to Rest Client (with Elasticsearch 6.x).