Hi, I think the cause of the problem is the WordDelimiterFilterFactory. With your current configuration indexing i-like results in 3 terms being indexed - i, like and ilike. Then when you query for ilike, you match the 3rd term. The term ilike is created by the WordDelimiterFilter due to the catenateWords="1" configuration. When I change this to 0 only i and like are created, hence ilike no longer matches i-like.
Hope that fixes your problem. Thanks, Chris On Fri, Aug 21, 2009 at 7:16 AM, Vannia Rajan <kvanniara...@gmail.com>wrote: > Hi, > > On Thu, Aug 20, 2009 at 9:13 PM, Chris Male <gento...@gmail.com> wrote: > > > Hi, > > > > What analyzers/filters have you configured for the field that you are > > searching? One could be causing the various versions of "ilike" to be > > indexed the same way. > > > > I'm using "text" field with the following analyzers / filters for the > field "description" (which has various forms of word "ilike": > > <fieldType name="text" class="solr.TextField" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.StopFilterFactory" > ignoreCase="true" > words="stopwords.txt" > enablePositionIncrements="true" > /> > <filter class="solr.WordDelimiterFilterFactory" > generateWordParts="1" generateNumberParts="1" catenateWords="1" > catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> > <filter class="solr.LowerCaseFilterFactory"/> > <filter class="solr.EnglishPorterFilterFactory" > protected="protwords.txt"/> > <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.SynonymFilterFactory" > synonyms="synonyms.txt" ignoreCase="true" expand="true"/> > <filter class="solr.StopFilterFactory" ignoreCase="true" > words="stopwords.txt"/> > <filter class="solr.WordDelimiterFilterFactory" > generateWordParts="1" generateNumberParts="1" catenateWords="0" > catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> > <filter class="solr.LowerCaseFilterFactory"/> > <filter class="solr.EnglishPorterFilterFactory" > protected="protwords.txt"/> > <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> > </analyzer> > </fieldType> > > > Is there anything that i could tune here to get the intended results? > > > > > > Thanks > > Chris > > > > On Thu, Aug 20, 2009 at 5:29 PM, Vannia Rajan <kvanniara...@gmail.com > > >wrote: > > > > > Hi,* > > > > > > *I need some help to clarify how solr indexes documents. I have 6 > > > documents with various forms of the word "ilike" (complete word and not > > "i > > > like") - one having "ilike" as such and others having a special > character > > > in > > > between "i" and "like". > > > > > > What i expected from solr is that, when i do a Quoted search "ilike", > > it > > > should return only the document that had "ilike" exactly. But, what i > get > > > from solr is that various forms of the word "ilike" are also included > in > > > the > > > results. Is there an option/configuration that i can do to solr so that > i > > > will get only the result with exact word "ilike"? > > > * > > > > > > The result i obtained from solr is shown below, > > > > > > http://localhost:8080/solr/select/?q=%22ilike%22&fl=description,score > > > <response> > > > - > > > <lst name="responseHeader"> > > > <int name="status">0</int> > > > <int name="QTime">20</int> > > > - > > > <lst name="params"> > > > <str name="fl">description,score</str> > > > <str name="q">"ilike"</str> > > > </lst> > > > </lst> > > > - > > > <result name="response" numFound="5" start="0" maxScore="0.5"> > > > - > > > <doc> > > > <float name="score">0.5</float> > > > <str name="description">Ilike company is doing great!</str> > > > </doc> > > > - > > > <doc> > > > <float name="score">0.375</float> > > > <str name="description">I:like company is doing great!</str> > > > </doc> > > > - > > > <doc> > > > <float name="score">0.3125</float> > > > <str name="description">I-like it very much. Really, this can come > > > up!.</str> > > > </doc> > > > - > > > <doc> > > > <float name="score">0.3125</float> > > > <str name="description">I;like it very much. Really, i say.</str> > > > </doc> > > > - > > > <doc> > > > <float name="score">0.25</float> > > > - > > > <str name="description"> > > > i.like it very much. full stop can come? i don't know. > > > </str> > > > </doc> > > > </result> > > > </response* > > > > > > -- > > > Thanks, > > > Vanniarajan > > > > > > > > > -- > Thanks, > Vanniarajan >