Searching for strings by substring

I am looking for way to search all possible substrings in index for the word specified in query. This task comes from searching locations that I want to encode in the following way: "USCACity1Zip1". I suppose that string search must work faster than locations.
I want to find the following matching result strings in indes: "USCACity1Zip1", "USCACity1", "USCA", "USCA", when the following value is specified in query: "USCACity1Zip1".
Wildcard Query or match with type:"phrase_prefix" does not work in this case, because arguments are in oposit direction.

It seems to me that making it a generic string issue makes the problem more complicated, wouldn't you be able to generate a query looking like USCACity1Zip1 OR USCACity1 OR USCA on the client side?