You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Dhanesh Radhakrishnan <dh...@hifx.co.in> on 2015/01/13 16:41:16 UTC

Occasionally getting error in solr suggester component.

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":"suggester 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




--

-- 

------------------------------
IMPORTANT: This is an e-mail from HiFX IT Media Services Pvt. Ltd. Its 
content are confidential to the intended recipient. If you are not the 
intended recipient, be advised that you have received this e-mail in error 
and that any use, dissemination, forwarding, printing or copying of this 
e-mail is strictly prohibited. It may not be disclosed to or used by anyone 
other than its intended recipient, nor may it be copied in any way. If 
received in error, please email a reply to the sender, then delete it from 
your system. 

Although this e-mail has been scanned for viruses, HiFX cannot ultimately 
accept any responsibility for viruses and it is your responsibility to scan 
attachments (if any).

​
Before you print this email or attachments, please consider the negative 
environmental impacts associated with printing.

Re: Occasionally getting error in solr suggester component.

Posted by Dan Davis <da...@gmail.com>.
Related question -

I see mention of needing to rebuild the spellcheck/suggest dictionary after
solr core reload.   I see spellcheckIndexDir in both the old wiki entry and
the solr reference guide
<https://cwiki.apache.org/confluence/display/solr/Spell+Checking>.  If this
parameter is provided, it sounds like the index is stored on the filesystem
and need not be rebuilt each time the core is reloaded.

Is this a correct understanding?


On Tue, Jan 13, 2015 at 2:17 PM, Michael Sokolov <
msokolov@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":"suggester 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
>>
>>
>>
>>
>> --
>>
>>
>

AW: Occasionally getting error in solr suggester component.

Posted by Clemens Wyss DEV <cl...@mysign.ch>.
Thanks!

-----Ursprüngliche Nachricht-----
Von: Erick Erickson [mailto:erickerickson@gmail.com] 
Gesendet: Montag, 1. Juni 2015 17:26
An: solr-user@lucene.apache.org
Betreff: Re: Occasionally getting error in solr suggester component.

Attach suggester.build=true or suggester.buildAll=true to any request to suggester to rebuild.
OR
add
buildOnStartup or buildOnCommit or buildOnOptimize to the definition in solrConfig.

BUT:
building can be a _very_ expensive operation. For document-based indexes, the build process reads through _all_ of the _stored_ documents in your index, and that can take many minutes so I recommend against these options for a large index, and strongly recommend you test these with a large corpus.

Best,
Erick



On Mon, Jun 1, 2015 at 4:01 AM, Clemens Wyss DEV <cl...@mysign.ch> wrote:
> 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:msokolov@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 < 
>> msokolov@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 < 
>>>> msokolov@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":"sugges
>>>>>> t
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>>
>>
>

Re: Occasionally getting error in solr suggester component.

Posted by Erick Erickson <er...@gmail.com>.
Attach suggester.build=true or suggester.buildAll=true to any request
to suggester to rebuild.
OR
add
buildOnStartup or buildOnCommit or buildOnOptimize to the definition
in solrConfig.

BUT:
building can be a _very_ expensive operation. For document-based
indexes, the build process
reads through _all_ of the _stored_ documents in your index, and that
can take many minutes so
I recommend against these options for a large index, and strongly
recommend you test these
with a large corpus.

Best,
Erick



On Mon, Jun 1, 2015 at 4:01 AM, Clemens Wyss DEV <cl...@mysign.ch> wrote:
> 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:msokolov@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 <
>> msokolov@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 <
>>>> msokolov@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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>>
>>
>

AW: Occasionally getting error in solr suggester component.

Posted by Clemens Wyss DEV <cl...@mysign.ch>.
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:msokolov@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 < 
> msokolov@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 < 
>>> msokolov@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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>


Re: Occasionally getting error in solr suggester component.

Posted by Michael Sokolov <ms...@safaribooksonline.com>.
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 <
> msokolov@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 <
>>> msokolov@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":"suggester
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>


Re: Occasionally getting error in solr suggester component.

Posted by Dhanesh Radhakrishnan <dh...@hifx.co.in>.
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 <
msokolov@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 <
>> msokolov@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":"suggester
>>>> 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
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>>
>>>>
>>
>


-- 
 [image: hifx_logo] <http://hifx.in/>
*dhanesh s.R *
Team Lead
t: (+91) 484 4011750 (ext. 712) | m: ​(+91) 99 4 6666 703
e: dhanesh@hifx.in | w: www.hifx.in
<https://www.facebook.com/HiFXIT> <https://twitter.com/HiFXTweets>
<https://www.linkedin.com/company/2889649>
<https://plus.google.com/104259935226993895226/about>

-- 

------------------------------
IMPORTANT: This is an e-mail from HiFX IT Media Services Pvt. Ltd. Its 
content are confidential to the intended recipient. If you are not the 
intended recipient, be advised that you have received this e-mail in error 
and that any use, dissemination, forwarding, printing or copying of this 
e-mail is strictly prohibited. It may not be disclosed to or used by anyone 
other than its intended recipient, nor may it be copied in any way. If 
received in error, please email a reply to the sender, then delete it from 
your system. 

Although this e-mail has been scanned for viruses, HiFX cannot ultimately 
accept any responsibility for viruses and it is your responsibility to scan 
attachments (if any).

​
Before you print this email or attachments, please consider the negative 
environmental impacts associated with printing.

Re: Occasionally getting error in solr suggester component.

Posted by Michael Sokolov <ms...@safaribooksonline.com>.
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 <
> msokolov@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":"suggester 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
>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>


Re: Occasionally getting error in solr suggester component.

Posted by Dhanesh Radhakrishnan <dh...@hifx.co.in>.
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 <
msokolov@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":"suggester 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
>>
>>
>>
>>
>> --
>>
>>
>


-- 
 [image: hifx_logo] <http://hifx.in/>
*dhanesh s.R *
Team Lead
t: (+91) 484 4011750 (ext. 712) | m: ​(+91) 99 4 6666 703
e: dhanesh@hifx.in | w: www.hifx.in
<https://www.facebook.com/HiFXIT> <https://twitter.com/HiFXTweets>
<https://www.linkedin.com/company/2889649>
<https://plus.google.com/104259935226993895226/about>

-- 

------------------------------
IMPORTANT: This is an e-mail from HiFX IT Media Services Pvt. Ltd. Its 
content are confidential to the intended recipient. If you are not the 
intended recipient, be advised that you have received this e-mail in error 
and that any use, dissemination, forwarding, printing or copying of this 
e-mail is strictly prohibited. It may not be disclosed to or used by anyone 
other than its intended recipient, nor may it be copied in any way. If 
received in error, please email a reply to the sender, then delete it from 
your system. 

Although this e-mail has been scanned for viruses, HiFX cannot ultimately 
accept any responsibility for viruses and it is your responsibility to scan 
attachments (if any).

​
Before you print this email or attachments, please consider the negative 
environmental impacts associated with printing.

Re: Occasionally getting error in solr suggester component.

Posted by Michael Sokolov <ms...@safaribooksonline.com>.
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":"suggester 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
>
>
>
>
> --
>