Elastic Search Using a wildcard within query_string exact search
It seems to be a perfect use case for the match_phrase_prefix
query (documentation) : did you give it a try?
If you need to make your query on multiple fields at the same time, take a look to the multi_match
queries with phrase_prefix
type (documentation).
Difference with your wilcard-based query_string
query is the fact that the match queries aren't parsed and though don't support query_string syntax.