[ https://issues.apache.org/jira/browse/LUCENE-1500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676426#action_12676426 ]
pwolanin edited comment on LUCENE-1500 at 2/24/09 2:15 PM: ---------------------------------------------------------------- Actually, looking at the Lucene source and the trace: {code} java.lang.StringIndexOutOfBoundsException: String index out of range: 2822 at java.lang.String.substring(String.java:1765) at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:274) at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:313) at org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:84) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) ... {code} I see now that getBestTextFragments() takes in a token stream - and each token in this steam already has start/end positions set. So, this patch would mitigate the exception, but looks like the real bug is in Solr, or perhaps elsewhere in Lucene where the token stream is constructed. was (Author: pwolanin): Actually, looking at the Lucene source and the trace: {code} java.lang.StringIndexOutOfBoundsException: String index out of range: 2822 at java.lang.String.substring(String.java:1765) at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:274) at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:313) at org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:84) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) ... {code} I see now that getBestTextFragments() takes in a token stream - and each token in this steam already has start/end positions set. So, this patch would mitigate the exception, but looks liek the real bug is in Solr. > Highlighter throws StringIndexOutOfBoundsException > -------------------------------------------------- > > Key: LUCENE-1500 > URL: https://issues.apache.org/jira/browse/LUCENE-1500 > Project: Lucene - Java > Issue Type: Bug > Components: contrib/highlighter > Affects Versions: 2.4 > Environment: Found this running the example code in Solr (latest > version). > Reporter: David Bowen > Attachments: patch.txt > > > Using the canonical Solr example (ant run-example) I added this document > (using exampledocs/post.sh): > <add><doc> > <field name="id">Test for Highlighting > StringIndexOutOfBoundsExcdption</field> > <field name="name">Some Name</field> > <field name="manu">Acme, Inc.</field> > <field name="features">Description of the features, mentioning various > things</field> > <field name="features">Features also is multivalued</field> > <field name="popularity">6</field> > <field name="inStock">true</field> > </doc></add> > and then the URL > http://localhost:8983/solr/select/?q=features&hl=true&hl.fl=features caused > the exception. > I have a patch. I don't know if it is completely correct, but it avoids this > exception. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org