[ https://issues.apache.org/jira/browse/SOLR-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091725#comment-13091725 ]
Bernd Fehling commented on SOLR-2726: ------------------------------------- The NPE comes from SpellCheckComponent.process --> SpellCheckComponent.getTokens because there is no analyzer defined, but if using "spellcheck.q" there is an analyzer required. This issue is manifold. - there is no default analyzer defined (like the WhitespaceAnalyzer if only using "q" paramter for suggest) - there cannot be any analyzer defined at all for this, beause: -- no analyzer or spellcheck.analyzer parameter is read from solrconfig.xml for this -- the class SolrSpellChecker has only getQueryAnalyzer() but no setQueryAnalzyer() to set one How should we fix this? - add a default analyzer? - add setQueryAnalyzer() to SolrSpellChecker? - set analyzer at Suggester.init or SolrSpellChecker.init or SpellCheckComponent.prepare? Any opinions? > NullPointerException when using spellcheck.q > -------------------------------------------- > > Key: SOLR-2726 > URL: https://issues.apache.org/jira/browse/SOLR-2726 > Project: Solr > Issue Type: Bug > Components: spellchecker > Affects Versions: 3.3, 4.0 > Environment: ubuntu > Reporter: valentin > Labels: nullpointerexception, spellcheck > > When I use spellcheck.q in my query to define what will be "spellchecked", I > always have this error, for every configuration I try : > java.lang.NullPointerException > at > org.apache.solr.handler.component.SpellCheckComponent.getTokens(SpellCheckComponent.java:476) > at > org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:131) > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:202) > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1368) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) > at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) > at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > All my other functions works great, this is the only thing which doesn't work > at all, just when i add "&spellcheck.q=my%20sentence" in the query... > Example of a query : > http://localhost:8983/solr/db/suggest_full?q=american%20israel&spellcheck.q=american%20israel > In solrconfig.xml : > <searchComponent name="suggest_full" class="solr.SpellCheckComponent"> > <str name="queryAnalyzerFieldType">suggestTextFull</str> > <lst name="spellchecker"> > <str name="name">suggest_full</str> > <str name="classname">org.apache.solr.spelling.suggest.Suggester</str> > <str > name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str> > <str name="field">text_suggest_full</str> > <str name="fieldType">suggestTextFull</str> > </lst> > </searchComponent> > <requestHandler name="/suggest_full" > class="org.apache.solr.handler.component.SearchHandler"> > <lst name="defaults"> > <str name="spellcheck">true</str> > <str name="spellcheck.dictionary">suggest_full</str> > <str name="spellcheck.count">10</str> > <str name="spellcheck.onlyMorePopular">true</str> > </lst> > <arr name="components"> > <str>suggest_full</str> > </arr> > </requestHandler> > I'm using SolR 3.3, and I tried it too on SolR 4.0 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org