Hi

 I want to change autocomplete implementation for our search. Current I have a 
suggest field whose definition in schema.xml is as below:

       <field name="suggest" type="edgytext" indexed="true" stored="true" 
required="true" omitNorms="false"/>

        <fieldType name="edgytext" class="solr.TextField" 
positionIncrementGap="0">
                <analyzer type="index">
                        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                        <filter class="solr.WordDelimiterFilterFactory" 
generateWordParts="0" splitOnCaseChange="0" splitOnNumerics="0" 
catenateWords="1" catenateNumbers="1" catenateAll="1"/>
                        <filter class="solr.LowerCaseFilterFactory"/>
                        <filter class="solr.EdgeNGramFilterFactory" 
minGramSize="2" maxGramSize="10" />
                </analyzer>
                <analyzer type="query">
                        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                        <filter class="solr.LowerCaseFilterFactory"/>
                </analyzer>
        </fieldType>


It works as follows.
"shoes" will match "casual shoes", "sports shoes", "shoes" etc.


Whereas I want it to match only the values that starts with the user query.
Ie. If user types "shoes", I want suggest terms that starts with "shoes" (or) 
has the query string as prefix string in "suggest" filed in the index.

Please let me know how to do this.

Regards,
Ilay

Reply via email to