[ 
https://issues.apache.org/jira/browse/SOLR-11858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347821#comment-16347821
 ] 

Robert Muir commented on SOLR-11858:
------------------------------------

My best guess is the high level bug is here: 
[https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.1.0/solr/core/src/java/org/apache/solr/spelling/DirectSolrSpellChecker.java#L185]

Basically from what I see from the stacktrace, it can happen easily if 
something asks for zero or negative suggestions... and unfortunately you'll get 
a crazy exception instead of a simple IllegalArgumentException. We should add 
some parameter checks to lucene so that you get a good exception instead.

As far as the solr code calling it, thats a separate issue... i have no idea, 
because i don't know much about this SpellingOptions, but one of the values in 
question defaults to zero...

> NPE in DirectSpellChecker
> -------------------------
>
>                 Key: SOLR-11858
>                 URL: https://issues.apache.org/jira/browse/SOLR-11858
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: spellchecker
>    Affects Versions: 7.1
>            Reporter: Markus Jelsma
>            Priority: Major
>             Fix For: master (8.0), 7.3
>
>
> We just came across the following NPE. It seems this NPE only appears when 
> the query is incorrectly spelled but response has more than 0 results. We 
> have not observed this on other 7.1.0 deployments. 
> {code}
> 2018-01-16 09:15:00.009 ERROR (qtp329611835-19) [c] o.a.s.h.RequestHand
> lerBase java.lang.NullPointerException
>          at 
> org.apache.lucene.search.spell.DirectSpellChecker.suggestSimilar(DirectSpellChecker.java:421)
>          at 
> org.apache.lucene.search.spell.DirectSpellChecker.suggestSimilar(DirectSpellChecker.java:353)
>          at 
> org.apache.solr.spelling.DirectSolrSpellChecker.getSuggestions(DirectSolrSpellChecker.java:186)
>          at 
> org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:195)
>          at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:295)
>          at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:177)
>          at org.apache.solr.core.SolrCore.execute(SolrCore.java:2484)
>          at 
> {code}
> Config:
> {code}
>  <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
>     <str name="queryAnalyzerFieldType">text_general</str>
>     <lst name="spellchecker">
>       <str name="name">default</str>
>       <str name="field">spellcheck</str>
>       <str name="classname">solr.DirectSolrSpellChecker</str>
>       <str name="distanceMeasure">internal</str>
>       <float name="accuracy">0.5</float>
>       <int name="maxEdits">2</int>
>       <int name="minPrefix">1</int>
>       <int name="maxInspections">5</int>
>       <int name="minQueryLength">4</int>
>       <float name="maxQueryFrequency">0.01</float>
>     </lst>
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to