I think because if it wasn't a phrase query you'd be matching on the broken up parts of the word *wherever* they were in your field. e.g. "pe" and "rsonal" could be separated by any number of other tokens and you'd get a match.....
HTH Erick P.S. I was a bit confused by your asterisks, it took me a while to figure out that you'd added them by hand for emphasis and you weren't sending wildcards through...... On Wed, Nov 25, 2009 at 6:43 AM, revas <revas...@gmail.com> wrote: > I have the text analyzer defined as follows > > > <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" preserveOriginal="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" preserveOriginal="1"/> > > <filter class="solr.LowerCaseFilterFactory"/> > > <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/> > > <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> > > </analyzer> > > </fieldType> > > > > when i search on this field name simple of the above field type , the term > peRsonal > > *I expect it to search as simple:personal simple :pe simple:rsonal* > > > > instead the parsed query string says > > <str name="*rawquerystring*">*simple:peRsonal*</str> > * * <str name="*querystring*">*simple:peRsonal*</str> > * * <str name="*parsedquery*">*MultiPhraseQuery(simple:"(person pe) > rsonal")*</str> > * * <str name="*parsedquery_toString*">*simple:"(person pe) rsonal"*</str> > > > what is this multiphrase query ,why is this a phrase query istead of simple > query? > > > Regards > Revas >