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

Frank Steggink commented on SOLR-10395:
---------------------------------------

{quote}
I've noticed the exception only occurs when no more than 2 alternatives are 
found, but when 3 alternatives (maxCollations) are found, the NPE isn't 
occurring.
{/quote}

I don't know why I said that the NPE wasn't occurring, but it still appears in 
the Solr log. Also note that the collations array has always been empty.

I've also set maxCollations to 2. I see suggestions being given with 2 results 
and also with 3 results, but not with 4 results. However, in all cases I'm 
still seeing the NPE. I did reload the collection, after I've pushed the new 
configuration to Zookeeper.

> NPE during spell check with result collation
> --------------------------------------------
>
>                 Key: SOLR-10395
>                 URL: https://issues.apache.org/jira/browse/SOLR-10395
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: spellchecker
>    Affects Versions: 6.2.1
>            Reporter: Frank Steggink
>
> I'm getting a NullPointerException when using collation during spell check. 
> This is the message I'm getting: Exception trying to re-query to check if a 
> spell check possibility would return any hits.
> Stack trace:
> {code}
> 2017-03-13 13:05:54.618 WARN (qtp472654579-84) [c:locatieserver s:dkk 
> r:core_node4 x:locatieserver_dkk_replica2] o.a.s.s.SpellCheckCollator 
> Exception trying to re-query to check if a spell check possibility would 
> return any hits.
> java.lang.NullPointerException
> at 
> org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:150)
> at 
> org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:297)
> at 
> org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:209)
> at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:295)
> at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:154)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2089)
> ...
> {code}
> My spell check config for this search handler:
> {code:xml}
>             <str name="spellcheck">on</str>
>             <str name="spellcheck.dictionary">suggest</str>
>             <str name="spellcheck.extendedResults">false</str>
>             <str name="spellcheck.count">5</str>
>             <str name="spellcheck.alternativeTermCount">2</str>
>             <str name="spellcheck.maxResultsForSuggest">3</str>
>             <str name="spellcheck.collate">true</str>
>             <str name="spellcheck.collateExtendedResults">true</str>
>             <str name="spellcheck.maxCollationTries">5</str>
>             <str name="spellcheck.maxCollations">3</str>
> {code}
> The field "suggest" is a field in the index, which is also (usually) queried 
> with this search handler. The field is filled with lots of data created by 
> edge ngrams, since it's intended usage is for an autocomplete field.
> This issue is very similar to SOLR-8807, but the NPE is occurring one line in 
> the code later 
> (solr\core\src\java\org\apache\solr\spelling\SpellCheckCollator.java). As a 
> result the patch attached to that issue probably won't work in my case.
> {code:java}
>         try {
>           queryComponent.prepare(checkResponse);
>           if (docCollectionLimit > 0) {
>             int f = checkResponse.getFieldFlags();
>             checkResponse.setFieldFlags(f |= 
> SolrIndexSearcher.TERMINATE_EARLY);            
>           }
>           queryComponent.process(checkResponse);
>           hits = (Integer) checkResponse.rsp.getToLog().get("hits");
>         } catch (EarlyTerminatingCollectorException etce) {
> {code}
> Although I'm using Solr 6.2.1, the source file is still identical to Solr 
> 6.5.0.
> The line causing my exception is when determining the hits. -I've noticed the 
> exception only occurs when no more than 2 alternatives are found, but when 3 
> alternatives (maxCollations) are found, the NPE isn't occurring.-
> As a workaround I could live for now with turning collations off. (Update: 
> I've suppressed logging of these exceptions in log4j.properties.)
> Please let me know if you need more information. Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to