Hi solrExperts,

Need autocomplete on whole phrase for multiple words .
 When I typed *br, *the results are brad , brad pitt but I need only brad
pitt to come.

I’m using shinglefilterfactory + terms component for autocomplete feature ,
the query is something like

http://localhost:8080/solr/actors/terms?terms.fl=content_autosuggest&omitHeader=true&terms.sort=index&indent=true&wt=json&json.nl=map&terms.prefix=bra



below is my shema configuration :



<field name="actors" type="text_auto" indexed="true" stored="true"
multiValued="true"/>



<fieldType class="solr.TextField" name="text_auto">

<analyzer type="index">

                <tokenizer class="solr.StandardTokenizerFactory"/>

                <filter class="solr.LowerCaseFilterFactory"/>

                 <filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true"/>

                <filter class="solr.ShingleFilterFactory"
minShingleSize="2" maxShingleSize="2" outputUnigrams="true"
outputUnigramsIfNoShingles="false" tokenSeparator=" " fillerToken="_"/>



                <filter class="solr.PatternReplaceFilterFactory"
pattern="_" replacement="" replace="all"/>

                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

</analyzer>

<analyzer type="query">

  <tokenizer class="solr.StandardTokenizerFactory"/>

  <filter class="solr.LowerCaseFilterFactory"/>

                 <filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true"/>

                <filter class="solr.ShingleFilterFactory"
minShingleSize="2" maxShingleSize="2" outputUnigrams="false"
outputUnigramsIfNoShingles="false" tokenSeparator=" " fillerToken="_"/>



                <filter class="solr.PatternReplaceFilterFactory"
pattern="_" replacement="" replace="all"/>

                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

</analyzer>

</fieldType>



Thanks & Regards,

Vamshi

Reply via email to