You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Joel Bernstein (JIRA)" <ji...@apache.org> on 2016/03/09 23:30:41 UTC

[jira] [Comment Edited] (SOLR-8807) NPE during spell checking when result collapsing is activated and index got more than one segment.

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

Joel Bernstein edited comment on SOLR-8807 at 3/9/16 10:29 PM:
---------------------------------------------------------------

Just found this line in the SpellcheckCollator:

{code}
 checkResponse.setFieldFlags(f |= SolrIndexSearcher.TERMINATE_EARLY);            
{code}

This is problematic for the CollapsingQParserPlugin because not all segments will get visited during the search. Right now the CollapsingQParserPlugin relies on all segments getting visited or you get the NPE that is happening in this ticket. There probably is a way to deal with this but it's going to take some looking into.


was (Author: joel.bernstein):
Just found this line in the SpellcheckCollator:

{code}
 checkResponse.setFieldFlags(f |= SolrIndexSearcher.TERMINATE_EARLY);            
{code}

This is problematic for the CollapsingQParserPlugin because not all segments will get visited during the search. Right now the CollapsingQParserPlugin relies on all segments getting visited or you get the NPE that is happening in the this ticket. There probably is a way to deal with this but it's going to take some looking into.

> NPE during spell checking when result collapsing is activated and index got more than one segment.
> --------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-8807
>                 URL: https://issues.apache.org/jira/browse/SOLR-8807
>             Project: Solr
>          Issue Type: Bug
>          Components: spellchecker
>    Affects Versions: 5.4
>         Environment: Solr 5.4 with an index cosisting of two segments
>            Reporter: Christian Danninger
>            Priority: Critical
>              Labels: collapse, spellcheck
>
> When using spellchecker with collapse/expand results, I got an NPE. Only happend when the index consists of more than one segment. 
> {code}
> 11:30:33,505 WARN  [org.apache.solr.spelling.SpellCheckCollator] (http-/0.0.0.0:8080-2) Exception trying to re-query to check if a spell check possibility would return any hits.: java.lang.NullPointerException
>         at org.apache.solr.search.CollapsingQParserPlugin$OrdScoreCollector.finish(CollapsingQParserPlugin.java:631) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.search.CollapsingQParserPlugin$OrdScoreCollector.finish(CollapsingQParserPlugin.java:681) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:213) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1672) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1491) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:557) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:525) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:147) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:238) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:203) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:281) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:156) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
>         at org.apache.solr.core.SolrCore.execute(SolrCore.java:2073) [solr-core-5.4.0.jar:5.4.0 1718046 - upayavira - 2015-12-04 23:16:46]
> {code}
> {code}
>   <requestHandler name="/select" class="solr.SearchHandler">
> 	<arr name="last-components">
> 	  <str>spellchecker</str>
> 	</arr>    
>     </requestHandler>
> {code}
> The query parameters are:
> {code}
>       "spellcheck.maxCollations": "5",
>       "q.op": "AND",
>       "fq": "{!collapse field=type}",
>       "spellcheck.maxCollationTries": "10",
>       "spellcheck.collateMaxCollectDocs": "100000",
>       "spellcheck.alternativeTermCount": "10",
>       "spellcheck.extendedResults": "true",
>       "spellcheck.dictionary": [
>         "dest_wordbreak",
>         "dest_fuzzy"
>       ],
>       "q": "kosamui thailand",
>       "defType": "edismax",
>       "expand": "true",
>       "spellcheck.maxResultsForSuggest": "3",
>       "qf": "country_name region_name",
>       "spellcheck": "true",
>       "spellcheck.accuracy": "0.5",
>       "spellcheck.count": "20",
>       "spellcheck.collate": "true",
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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