lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Weiss <swe...@stylesight.com>
Subject Re: Exact match search problem
Date Mon, 02 Feb 2009 08:11:06 GMT
Try using fieldtype "string"  instead of "text" for the UserName  
field.  Then it will not be tokenized so it should only give exact  
matches.

--
Steve


On Feb 2, 2009, at 2:27 AM, mahendra mahendra wrote:

> Hi,
>
> I have indexed my data as "custom123, customer, custom" for the  
> "UserName" field.
> I need to search the records for exact match, when I am trying to  
> search with UserName:"customer" I am finding the records where  
> UserName is custom123 and custom.
>
> As per my understanding solr splits the AlphaNumeric words into sub  
> words
> custom123 => "custom","123"
>
> As per above the above logic when I search for UserName:"customer",  
> it shouldn't display the custom123 and custom.
>
> Could you please tell me why it is behaving like that or how I can  
> search for exact match.
>
> I am using the following declaration for text field in schema file
>
>    <fieldType name="text" class="solr.TextField"  
> positionIncrementGap="100">
>       <analyzer type="index">
>         <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>         <!-- in this example, we will only use synonyms at query time
>         <filter class="solr.SynonymFilterFactory"  
> synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
>         -->
>         <!-- Case insensitive stop word removal.
>              enablePositionIncrements=true ensures that a 'gap' is  
> left to
>              allow for accurate phrase queries.
>         -->
>         <filter class="solr.StopFilterFactory"
>                 ignoreCase="true"
>                 words="englishstopwords.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="englishprotwords.txt"/>
>         <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
>       </analyzer>
>       <analyzer type="query">
>         <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>         <filter class="solr.SynonymFilterFactory"  
> synonyms="englishsynonyms.txt" ignoreCase="true" expand="true"/>
>         <filter class="solr.StopFilterFactory" ignoreCase="true"  
> words="englishstopwords.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="englishprotwords.txt"/>
>         <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
>       </analyzer>
>     </fieldType>
>
> Thanks in advance!!
>
> - Mahendra
>
>
>
>


Mime
View raw message