So in short. When you index a field with a text type and default analyzer, it is indexed in lowercase and broken into tokens.
Aaa Bbb
became aaa
, bbb
.
When you search with a wildcard query (which is a bad idea), you must use the same case as was indexed. So aa*
should work where Aa*
shouldn't.
For keywords, they are indexed as Aaa Bbb
, so searching for Aa*
will match. Note that Bb*
won't match.
With a lowercase normalizer, aa*
will match. Aa*
, Bb*
or bb*
won't match.