Hi,

We are getting the results for the query but the spellchecker component is
returning 500. Please help us out.

*query*: http://localhostt:8111/solr/srch/select?q=malerkotla&qt=search

*Error:*

> "trace":"java.lang.StringIndexOutOfBoundsException: String index out of 
> range: -5
>
> \tat java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:789)
> \tat java.lang.StringBuilder.replace(StringBuilder.java:266)
> \tat 
> org.apache.solr.spelling.SpellCheckCollator.getCollation(SpellCheckCollator.java:235)
>
> \tat 
> org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:92)
> \tat 
> org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:230)
> \tat 
> org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:197)
>
> \tat 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
> \tat 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> \tat org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
>
> \tat 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:774)
> \tat 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)
> \tat 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
>
> \tat 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> \tat 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> \tat 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>
> \tat 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> \tat 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> \tat 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>
> \tat org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
> \tat 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> \tat 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
> \tat 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
> \tat 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
> \tat 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
> \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> \tat java.lang.Thread.run(Thread.java:745)
>
>
 The suggestions when i query with the separate words (maler & kotla):
http://localhostt:8111/solr/srch/select?q=maler%20kotla&qt=search

>  "facet_counts":{
>     "facet_queries":{},
>     "facet_fields":{
>       "city":[
>         "maler kotla",2,
>         "ludhiana",1],
>       "datatype":[
>         "company",2,
>         "product",1]},
>     "facet_dates":{},
>     "facet_ranges":{}},
>   "spellcheck":{
>     "suggestions":[
>       "maler",{
>         "numFound":7,
>         "startOffset":0,
>         "endOffset":5,
>         "origFreq":9,
>         "suggestion":[{
>             "word":"maker",
>             "freq":19751},
>           {
>             "word":"mailer",
>             "freq":1439},
>           {
>             "word":"mayer",
>             "freq":271},
>           {
>             "word":"mater",
>             "freq":214},
>           {
>             "word":"malar",
>             "freq":183},
>           {
>             "word":"maier",
>             "freq":123},
>           {
>             "word":"male",
>             "freq":32169}]},
>       "kotla",{
>         "numFound":3,
>         "startOffset":6,
>         "endOffset":11,
>         "origFreq":30,
>         "suggestion":[{
>             "word":"koala",
>             "freq":282},
>           {
>             "word":"kota",
>             "freq":5355},
>           {
>             "word":"kola",
>             "freq":861}]},
>       "correctlySpelled",true,
>       "collation","maker koala"]}}
>
>
Full Response for erroed url :
http://localhostt:8111/solr/srch/select?q=malerkotla&qt=search
>
> {
>   "responseHeader":{
>     "status":500,
>     "QTime":49},
>   "grouped":{
>     "glusrid":{
>       "matches":2802,
>       "ngroups":314,
>       "groups":[]}},
>   "facet_counts":{
>     "facet_queries":{},
>     "facet_fields":{
>       "city":[
>         "maler kotla",311,
>         "bengaluru",1,
>         "ludhiana",1,
>         "mohali",1],
>       "datatype":[
>         "company",162,
>         "product",146,
>         "offer",6]},
>     "facet_dates":{},
>     "facet_ranges":{}},
>   "error":{
>     "msg":"String index out of range: -5",
>     "trace":"java.lang.StringIndexOutOfBoundsException: String index out of 
> range: -5\n\tat 
> java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:789)\n\tat 
> java.lang.StringBuilder.replace(StringBuilder.java:266)\n\tat 
> org.apache.solr.spelling.SpellCheckCollator.getCollation(SpellCheckCollator.java:235)\n\tat
>  
> org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:92)\n\tat
>  
> org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:230)\n\tat
>  
> org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:197)\n\tat
>  
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)\n\tat
>  
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)\n\tat
>  org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)\n\tat 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:774)\n\tat
>  
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)\n\tat
>  
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)\n\tat
>  
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)\n\tat
>  
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)\n\tat
>  
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)\n\tat
>  
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)\n\tat
>  
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)\n\tat
>  
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)\n\tat
>  
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)\n\tat
>  
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)\n\tat
>  
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)\n\tat
>  
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)\n\tat
>  
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)\n\tat
>  
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)\n\tat
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n\tat
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat
>  java.lang.Thread.run(Thread.java:745)\n",
>     "code":500}}
>
>
With Regards
Aman Tandon

Reply via email to