Hello,
We currently have a Solr Index with 3 replicas and each replica is on a
different server/node.
Solr version is 8.11.2
Within this setup, we've configured a suggester component and an
autocomplete request handler as follows:
<lst name="suggester">
<str name="name">suggester_en</str>
<str name="lookupImpl">FreeTextLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">twm_suggest_en</str>
<str name="suggestFreeTextAnalyzerFieldType">phrase_suggest_en</str>
<str name="buildOnCommit">false</str>
<str name="buildOnStartup">false</str>
</lst>
For the autocomplete request handler:
<requestHandler name="/autocomplete" class="solr.SearchHandler"
startup="lazy">
<lst name="defaults">
<str name="terms">false</str>
<str name="distrib">false</str>
<str name="spellcheck">false</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.count">1</str>
<str name="suggest">false</str>
<str name="suggest.count">10</str>
</lst>
<arr name="components">
<str>terms</str>
<str>spellcheck</str>
<str>suggest</str>
</arr>
</requestHandler>
We use the following request to build the suggest dictionary:
/suggest?json.nl
=flat&omitHeader=true&suggest.build=false&suggest.reload=false&suggest=true&suggest.buildAll=true
After successfully building the suggester dictionary, we encounter an issue
with autocomplete responses. Autocomplete requests only succeed if they are
routed to the replica where the /suggest command was executed. Otherwise,
an error occurs:
java.lang.IllegalStateException: Lookup not supported at this time
However, changing the lookupImpl to <str
name="lookupImpl">AnalyzingInfixLookupFactory</str> resolves the issue,
allowing successful autocomplete responses from all replicas.
My question is whether this issue is solely related to the lookupImpl
configuration,
or if there are other factors I should investigate.
Thanks,
Parag