Ryan, you are right, that's the problem. WilliAM is treated as two words by the WordDelimiterFilterFactory.
Thanks Xuesong -----Original Message----- From: Ryan McKinley [mailto:[EMAIL PROTECTED] Sent: Thursday, June 07, 2007 11:30 AM To: solr-user@lucene.apache.org Subject: Re: TextField case sensitivity have you taken a look the output from the admin/analysis? http://localhost:8983/solr/admin/analysis.jsp?highlight=on This lets you see what tokens are generated for index/query. From your description, I'm suspicious that the generated tokens are actually: willi am Also, if you want the same analyzer for indexing and query, just define one: <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> Xuesong Luo wrote: > I run a problem when searching on a TextField. When I pass q=William or > q=WILLiam, solr is able to find records whose default search field value > is William, however if I pass q=WilliAm, solr did not return any thing. > I searched on the archive, Yonik mentioned the lowercasefilterfactory > doesn't work for wildcard because the QueryParser does not invoke > analysis for partial word, that makes sense. But in my case, it's a > whole word. Anyone knows why it's not working? Below is my schema info. > > Thanks > Xuesong > > <fieldtype name="text" class="solr.TextField" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > </fieldtype> > >