You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@solr.apache.org by Parag Ninawe <pa...@gmail.com> on 2024/03/15 14:38:14 UTC

Inconsistent Autocomplete Response after Building Suggester

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

Re: Inconsistent Autocomplete Response after Building Suggester

Posted by Parag Ninawe <pa...@gmail.com>.
Any suggestions team ?

On Fri, 15 Mar, 2024, 8:08 pm Parag Ninawe, <pa...@gmail.com> wrote:

> 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
>