I have WordDelimiterFilter defined in the schema, I didn't include it in my original email because I thought it doesn't matter. It seems it matters. Looks like WilliAm is treated as two words. That's why it didn't find a match.
Thanks Xuesong -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Yonik Seeley Sent: Thursday, June 07, 2007 11:25 AM To: solr-user@lucene.apache.org Subject: Re: TextField case sensitivity On 6/7/07, Xuesong Luo <[EMAIL PROTECTED]> 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. Sounds like WordDelimiterFilter is still being used for your fieldType. After you changed the fieldType for "text", did you restart Solr and re-index your collection? -Yonik > 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>