I am implementing auto suggestion on Business Name. I used BlendedInfixLookupFactory which worked in all my uses until I encountered into this bug (https://issues.apache.org/jira/browse/SOLR-7865), where suggest.count doesn't work in Solr 5.2.1. But, I can't upgrade anytime soon. :(
I tried using AnalyzingInfixSuggester, but, I encountered couple of issues with this. Can someone help me with these? 1. This lookupImpl is returning duplicate business names ( https://issues.apache.org/jira/browse/LUCENE-6336) in results (the data has duplicate business names) which isn't happening with BlendedInfixLookupFactory. I don't want duplicate values. 2. Second one is, AnalyzingInfixSuggester is searching on all input keywords - For example, if am looking for "Apple Corporation", it is returning, "Apple Inc", "Apple Corporation", "Oracle Corporation", "Microsoft Corporation". I need the data with only "Apple Corporation". Again, this is working fine in BlendedInfixLookupFactory. I don't want fuzzy searches, so, I am not using it. Below are the respective configurations. The fields type uses Standard Tokenizer. <lst name="suggester"> <str name="name">businessName_BIF</str> <str name="lookupImpl">BlendedInfixLookupFactory</str> <str name="dictionaryImpl">DocumentDictionaryFactory</str> <str name="field">business_name</str> <str name="buildOnCommit">true</str> <str name="buildOnOptimize">true</str> <str name="buildOnStartup">true</str> <!--LookupImpl Specific properties --> <str name="suggestAnalyzerFieldType">text_standard</str> <str name="exactMatchFirst">true</str> <str name="preserveSep">true</str> <str name="preservePositionIncrements">true</str> <str name="indexPath">suggest_test_business_name_bif</str> <str name="minPrefixChars">0</str> <str name="highlight">false</str> <str name="blenderType">linear</str> <str name="numFactor">10</str> <!--DictionaryImpl Specific properties --> <str name="weightField">revenues</str> <str name="payloadField">id</str> </lst> <lst name="suggester"> <str name="name">businessName_AIF</str> <str name="lookupImpl">AnalyzingInfixLookupFactory</str> <str name="dictionaryImpl">DocumentDictionaryFactory</str> <str name="field">business_name</str> <str name="buildOnCommit">true</str> <str name="buildOnOptimize">true</str> <str name="buildOnStartup">true</str> <!--LookupImpl Specific properties --> <str name="suggestAnalyzerFieldType">text_standard</str> <str name="exactMatchFirst">true</str> <str name="preserveSep">true</str> <str name="preservePositionIncrements">true</str> <str name="indexPath">suggest_test_business_name_aif</str> <str name="minPrefixChars">0</str> <str name="allTermsRequired">true</str> <str name="highlight">false</str> <!--DictionaryImpl Specific properties --> <str name="weightField">revenues</str> <str name="payloadField">id</str> </lst>