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
>

Reply via email to