It appears that StringField instances are treated as literals, even though my
analyzer lower-cases (on both write and read sides). So, for example, I can
match with a term query (e.g. "NEW YORK"), but only if the case matches. If I
use a QueryParser (or MultiFieldQueryParser), it never works because these
query values are lowercased and don't match.
I've found that using a TextField instead works, presumably because it's
tokenized and processed correctly by the write analyzer. However, I would
prefer that queries match against the entire/exact phrase ("NEW YORK"), rather
than among the tokens ("NEW" or "YORK").
What's the solution here?
Thanks in advance.