You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jan Høydahl (JIRA)" <ji...@apache.org> on 2017/05/21 22:20:04 UTC

[jira] [Closed] (SOLR-1731) ArrayIndexOutOfBoundsException when highlighting

     [ https://issues.apache.org/jira/browse/SOLR-1731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jan Høydahl closed SOLR-1731.
-----------------------------
    Resolution: Cannot Reproduce

Closing ancient issue as cannot reproduce. If this was still a bug it would surface pretty fast. Please re-open if you believe work is needed on this.

> ArrayIndexOutOfBoundsException when highlighting
> ------------------------------------------------
>
>                 Key: SOLR-1731
>                 URL: https://issues.apache.org/jira/browse/SOLR-1731
>             Project: Solr
>          Issue Type: Bug
>          Components: highlighter
>    Affects Versions: 1.4
>            Reporter: Tim Underwood
>            Priority: Minor
>
> I'm seeing an java.lang.ArrayIndexOutOfBoundsException when trying to highlight for certain queries.  The error seems to be an issue with the combination of the ShingleFilterFactory, PositionFilterFactory and the LengthFilterFactory. 
> Here's my fieldType definition:
> <fieldType name="textSku" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
>   <analyzer type="index">
>     <tokenizer class="solr.KeywordTokenizerFactory" />
>     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="1"/>
>     <filter class="solr.LowerCaseFilterFactory"/>
>     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
>     <filter class="solr.LengthFilterFactory" min="2" max="100"/>
>   </analyzer>
>   <analyzer type="query">
>       <tokenizer class="solr.WhitespaceTokenizerFactory" />
>       <filter class="solr.ShingleFilterFactory" maxShingleSize="8" outputUnigrams="true"/>
>       <filter class="solr.PositionFilterFactory" />
>       <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="1"/>
>       <filter class="solr.LowerCaseFilterFactory"/>
>       <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
>       <filter class="solr.LengthFilterFactory" min="2" max="100"/> <!-- works if this is commented out -->
>     </analyzer>
> </fieldType>
> Here's the field definition:
> <field name="sku_new" type="textSku" indexed="true" stored="true" omitNorms="true"/>
> Here's a sample doc:
> <add>
>     <doc>
>       <field name="id">1</field>
>       <field name="sku_new">A 1280 C</field>
>     </doc>
> </add>
> Doing a query for sku_new:"A 1280 C" and requesting highlighting throws the exception (full stack trace below):  
> http://localhost:8983/solr/select/?q=sku_new%3A%22A+1280+C%22&version=2.2&start=0&rows=10&indent=on&&hl=on&hl.fl=sku_new&fl=*
> If I comment out the LengthFilterFactory from my query analyzer section everything seems to work.  Commenting out just the PositionFilterFactory also makes the exception go away and seems to work for this specific query.
> Full stack trace:
> java.lang.ArrayIndexOutOfBoundsException: -1
>     at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extract(WeightedSpanTermExtractor.java:202)
>     at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getWeightedSpanTerms(WeightedSpanTermExtractor.java:414)
>     at org.apache.lucene.search.highlight.QueryScorer.initExtractor(QueryScorer.java:216)
>     at org.apache.lucene.search.highlight.QueryScorer.init(QueryScorer.java:184)
>     at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:226)
>     at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:335)
>     at org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:89)
>     at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
>     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>     at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
>     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
>     at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
>     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>     at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
>     at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>     at org.mortbay.jetty.Server.handle(Server.java:285)
>     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
>     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
>     at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
>     at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org