Distinct results different field per request

I currently have multiple replicas of a dataset and have a different distinct fields set for each replica. This has made our bill go through the roof :frowning: … Is it possible to make search requests and set the distinct field directly in the request, ideally each request I make can have a different distinct field (dynamically set per request). If not possible, are there other alternatives to creating replicas?