Analyzers take the text from a string field and generate tokens that will be used when querying.
An Analyzer operates in a sequence:
CharFilters (Zero or more)
TokenFilters (Zero or more)
The analyzer may be applied to mappings so that when fields are indexed, it is done on a per token basis rather than on the string as a whole. When querying, the input string will also be run through the Analyzer. Therefore, if you normalize text in the Analyzer, it will always match even if the query contains a non-normalized string.