I see you are using firstSearcher/newSearcher event listener on your
startup and cause the problem.
If you don't need them, commented out them in solrconfig.xml.
Koji
Eric Sabourin wrote:
I’m using SOLR 1.3.0 (from download, not a nightly build)
apache-tomcat-5.5.27 on Windows XP.
When I add <str name="spellcheck.collate">true</str> to my requestHandler in
my solrconfig.xml, I get the StringIndexOutOfBoundsException stacktrace
below on startup. Removing the element, or setting it to false, causes the
exception to no longer occur on startup.
Any help is appreciated. Let me know if additional information is required.
Eric
The exception (from logs):
Apr 24, 2009 12:17:53 PM org.apache.solr.servlet.SolrUpdateServlet init
INFO: SolrUpdateServlet.init() done
Apr 24, 2009 12:17:53 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.StringIndexOutOfBoundsException: String index out of
range: -5
at
java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:800)
at java.lang.StringBuilder.replace(StringBuilder.java:272)
at
org.apache.solr.handler.component.SpellCheckComponent.toNamedList(SpellCheckComponent.java:232)
at
org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:149)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:169)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1228)
at
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:50)
at org.apache.solr.core.SolrCore$4.call(SolrCore.java:1034)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Apr 24, 2009 12:17:53 PM org.apache.solr.core.SolrCore execute
Having the following does not cause the exception:
<str name="spellcheck">true</str>
<str name="spellcheck.onlyMorePopular">false</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<!-- The number of suggestions to return -->
<str name="spellcheck.count">1</str>
<str name="spellcheck.dictionary">default</str>
<!-- comment out collate... causes
java.lang.StringIndexOutOfBoundsException on startup? -->
<!-- <str name="spellcheck.collate">true</str>-->
With the following the exception occurs on startup.
<str name="spellcheck">true</str>
<str name="spellcheck.onlyMorePopular">false</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<!-- The number of suggestions to return -->
<str name="spellcheck.count">1</str>
<str name="spellcheck.dictionary">default</str>
<!-- comment out collate... causes
java.lang.StringIndexOutOfBoundsException on startup? -->
<str name="spellcheck.collate">true</str>