Lucene 5.1:
I am (also) facing 
"java.lang.IllegalStateException: suggester was not built"

At the very moment no new documents seem tob e added to the index/core. Will a 
reboot "sanitize" the index/core?

I (still) have 
<str> name="buildOnCommit">true</str>

How can I tell Solr to peridoically update the suggestions? If not possible per 
configuration (in solrconfig.xml), what ist he preferred approach through SolrJ?

Thx
Clemens

-----Ursprüngliche Nachricht-----
Von: Michael Sokolov [mailto:msoko...@safaribooksonline.com] 
Gesendet: Donnerstag, 15. Januar 2015 19:52
An: solr-user@lucene.apache.org
Betreff: Re: Occasionally getting error in solr suggester component.

That sounds like a good approach to me.  Of course it depends how often you 
commit, and what your tolerance is for delay in having suggestions appear, but 
it sounds as if you have a good understanding of the tradeoffs there.

-Mike

On 1/15/15 10:31 AM, Dhanesh Radhakrishnan wrote:
> Hi,
>  From Solr 4.7 onwards, the implementation of this Suggester is 
> changed. The old SpellChecker based search component is replaced with 
> a new suggester that utilizes Lucene suggester module. The latest Solr 
> download is preconfigured with this new suggester I;m using Solr 4.10 
> and suggestion are based on query  /suggest instead of /spell.
> So what I did is that in changed to <str 
> name="buildOnCommit">false</str> Its not good that each time rebuild 
> the index on  commit , however, I would like to build the index on 
> certain time period, say 1 hour.
> The lookup data will be built only when requested by URL parameter 
> suggest.build=true
>
> "http://localhost:8983/solr/ha/suggest?suggest.build=true";
>
> So this will rebuild the index again and the changes will reflect in 
> the suggester.
>
> There are certain pros and cons for this.
> Issue is that the change will reflect only on certain time interval, 
> here 1 hour. Advantage is that we can avoid the  rebuilt index  on 
> every commit or optimize.
>
> Is this the right way ?? or any that I missed ???
>
> Regards
> dhanesh s.r
>
>
>
>
> On Thu, Jan 15, 2015 at 3:20 AM, Michael Sokolov < 
> msoko...@safaribooksonline.com> wrote:
>
>> did you build the spellcheck index using spellcheck.build as 
>> described
>> here: https://cwiki.apache.org/confluence/display/solr/Spell+Checking ?
>>
>> -Mike
>>
>>
>> On 01/14/2015 07:19 AM, Dhanesh Radhakrishnan wrote:
>>
>>> Hi,
>>> Thanks for the reply.
>>> As you mentioned in the previous mail I changed buildOnCommit=false 
>>> in solrConfig.
>>> After that change, suggestions are not working.
>>> In Solr 4.7 introduced a new approach based on a dedicated 
>>> SuggestComponent I'm using that component to build suggestions and 
>>> lookup implementation is "AnalyzingInfixLookupFactory"
>>> Is there any work around ??
>>>
>>>
>>>
>>>
>>> On Wed, Jan 14, 2015 at 12:47 AM, Michael Sokolov < 
>>> msoko...@safaribooksonline.com> wrote:
>>>
>>>   I think you are probably getting bitten by one of the issues 
>>> addressed in
>>>> LUCENE-5889
>>>>
>>>> I would recommend against using buildOnCommit=true - with a large 
>>>> index this can be a performance-killer.  Instead, build the index 
>>>> yourself using the Solr spellchecker support 
>>>> (spellcheck.build=true)
>>>>
>>>> -Mike
>>>>
>>>>
>>>> On 01/13/2015 10:41 AM, Dhanesh Radhakrishnan wrote:
>>>>
>>>>   Hi all,
>>>>> I am experiencing a problem in Solr SuggestComponent Occasionally 
>>>>> solr suggester component throws an  error like
>>>>>
>>>>> Solr failed:
>>>>> {"responseHeader":{"status":500,"QTime":1},"error":{"msg":"suggest
>>>>> er
>>>>> was
>>>>> not built","trace":"java.lang.IllegalStateException: suggester was 
>>>>> not built\n\tat 
>>>>> org.apache.lucene.search.suggest.analyzing.AnalyzingInfixSuggester.
>>>>> lookup(AnalyzingInfixSuggester.java:368)\n\tat
>>>>> org.apache.lucene.search.suggest.analyzing.AnalyzingInfixSuggester.
>>>>> lookup(AnalyzingInfixSuggester.java:342)\n\tat
>>>>> org.apache.lucene.search.suggest.Lookup.lookup(Lookup.java:240)\n\
>>>>> tat org.apache.solr.spelling.suggest.SolrSuggester.
>>>>> getSuggestions(SolrSuggester.java:199)\n\tat
>>>>> org.apache.solr.handler.component.SuggestComponent.
>>>>> process(SuggestComponent.java:234)\n\tat
>>>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(
>>>>> SearchHandler.java:218)\n\tat
>>>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(
>>>>> RequestHandlerBase.java:135)\n\tat
>>>>> org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.
>>>>> handleRequest(RequestHandlers.java:246)\n\tat
>>>>> org.apache.solr.core.SolrCore.execute(SolrCore.java:1967)\n\tat
>>>>> org.apache.solr.servlet.SolrDispatchFilter.execute(
>>>>> SolrDispatchFilter.java:777)\n\tat
>>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>>>>> SolrDispatchFilter.java:418)\n\tat
>>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>>>>> SolrDispatchFilter.java:207)\n\tat
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>>>> ApplicationFilterChain.java:243)\n\tat
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>>>> ApplicationFilterChain.java:210)\n\tat
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(
>>>>> StandardWrapperValve.java:225)\n\tat
>>>>> org.apache.catalina.core.StandardContextValve.invoke(
>>>>> StandardContextValve.java:123)\n\tat
>>>>> org.apache.catalina.core.StandardHostValve.invoke(
>>>>> StandardHostValve.java:168)\n\tat
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(
>>>>> ErrorReportValve.java:98)\n\tat
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(
>>>>> AccessLogValve.java:927)\n\tat
>>>>> org.apache.catalina.valves.RemoteIpValve.invoke(
>>>>> RemoteIpValve.java:680)\n\tat
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(
>>>>> StandardEngineValve.java:118)\n\tat
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(
>>>>> CoyoteAdapter.java:407)\n\tat
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>> AbstractHttp11Processor.java:1002)\n\tat
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>> process(AbstractProtocol.java:579)\n\tat
>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.
>>>>> run(JIoEndpoint.java:312)\n\tat
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(
>>>>> ThreadPoolExecutor.java:1145)\n\tat
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(
>>>>> ThreadPoolExecutor.java:615)\n\tat
>>>>> java.lang.Thread.run(Thread.java:745)\n","code":500}}
>>>>>
>>>>> This is not freequently happening, but idexing and suggestor 
>>>>> component working togethere  this error will occur.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> In solr config
>>>>>
>>>>> <searchComponent name="suggest" class="solr.SuggestComponent">
>>>>>        <lst name="suggester">
>>>>>          <str name="name">haSuggester</str>
>>>>>          <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
>>>>> <!--
>>>>> org.apache.solr.spelling.suggest.fst -->
>>>>>          <str name="suggestAnalyzerFieldType">textSpell</str>
>>>>>          <str name="dictionaryImpl">DocumentDictionaryFactory</str>
>>>>>    <!--
>>>>> org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
>>>>>          <str name="field">name</str>
>>>>>          <str name="weightField">packageWeight</str>
>>>>>          <str name="buildOnCommit">true</str>
>>>>>        </lst>
>>>>>      </searchComponent>
>>>>>
>>>>>      <requestHandler name="/suggest" class="solr.SearchHandler"
>>>>> startup="lazy">
>>>>>        <lst name="defaults">
>>>>>          <str name="suggest">true</str>
>>>>>          <str name="suggest.count">10</str>
>>>>>        </lst>
>>>>>        <arr name="components">
>>>>>          <str>suggest</str>
>>>>>        </arr>
>>>>>      </requestHandler>
>>>>>
>>>>> Can any one suggest where to look to figure out this error and why 
>>>>> these errors are occurring?
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> dhanesh s.r
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>

Reply via email to