Multiple Aggregation Query

We are running a query that looks for the equivalent "select distinct f1,f2,f3 from myindex". The resulting query is implemented with nested aggregations. Since we are returning a LOT of data, the performance with 2 tiers of nested aggregation is good, but becomes unacceptable with 3 tiers.

Is there a better way to bring additional fields without additional aggregation tiers? We would prefer something like "select f1,f2,first(f3),first(f4),first(f5) from myindex group by f1,f2" So that the aggregation only 2 goes tiers.

I hope I have explained this problem clearly.

I'm not sure whether Top Hits Aggs can help u.