Search perfomance using many indices with one alias

Hey,

where are only very few common fields in Type A and Type B.

Up to now, the search query contained a query string query with all fields names of Type A, B, ... (field1, field2, field3, ...).

If I use "field*" instead, the query perfoms a lot better, but I cannot use this approach (restrictions based on users).

I just found the Indices Query (https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-indices-query.html) which looks quite promising as I know in advance which field belongs to with type.
Anyhow, as it deprecated, I'd like to build the query correctly but did not (yet) find the correct way to use it. Any suggestions?

Thanks,
Julia