[ 
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

Reply via email to