[ https://issues.apache.org/jira/browse/SOLR-10395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964298#comment-15964298 ]
Frank Steggink edited comment on SOLR-10395 at 4/11/17 12:34 PM: ----------------------------------------------------------------- {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. was (Author: fsteggink): {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