> Hello, I know that this topic was > already discussed, but I want to make sure I understood it > right. > I need to have a field for email of a user. I should be > able to find a document(s) by this field, and it should be > exact match, and case insensitive. > Based on that I've found from previous discussions, I > couldn't use solr.StrField class, but should use > solr.TextField class instead. > Also, I've suspect very match that later the requirements > could change and I should be able to store not an email as > identifier, but some free text, potentially with spaces, and > some other white spaces, and still should be able to do > exact case insensitive match. > So I come up with such type: > > <fieldType name="string_ci" > class="solr.TextField" > sortMissingLast="true" > omitNorms="true"> > <analyzer> > <filter > class="solr.LowerCaseFilterFactory" /> > </analyzer> > </fieldType> > > So, if I have a document with a field of such type, and it > would contain value like this: > "ABC 123 xyz" > A "xyz" query shouldn't return the document, nor "xyz 123 > ABC" query, but "abc 123 XYZ" should. > Am I correct in my assumption, or am I missing something?
Yeap all is correct. However, there is no tokenizer is defined in your analyzer. In your case KeywordTokenizerFactory should be used.