Well, I guess this is a feature decision of elastic to not be able to return autocomplete suggestions of document fields and return only those matching fields. instead it returns entire document. To get anywhere close to basic autocomplete, I have to set up completely separate indexes with only the fields I want to autocomplete on as their own documents and then hope these separate indexes stay in sync with my master document index.
I really don't see why elastic can't make this easier.
I want to accept some query string and then ask for any matching fields of documents where they complete the query string. I don't necessarily know in advance which fields those might be and I don't want to construct a query enumerating all the fields. Which could easily change over time in the index.
As a result, I want list of matching fields and doc id's and the value of the matched field. Pretty simple. And a very common use case elastic just does not support easily.