Nikolay Khitrin created LUCENE-10075:
----------------------------------------

             Summary: NPE on wildcard-based overlapping intervals highlighting
                 Key: LUCENE-10075
                 URL: https://issues.apache.org/jira/browse/LUCENE-10075
             Project: Lucene - Core
          Issue Type: Bug
    Affects Versions: 8.7, main (9.0)
            Reporter: Nikolay Khitrin


UnifiedHighlighter with WEIGHT_MATCHES flag throws an NullPointerException on 
overlapping intervals with wildcard term.

Minimal reproducible example

Doc: "Compare Computer Science"

Query: Intervals.maxgaps(1, Intervals.ordered(Intervals.wildcard(new 
BytesRef("comp*")), Intervals.term("science")));

Stacktrace:

 
{code:java}
java.lang.NullPointerException: Cannot invoke 
"org.apache.lucene.search.MatchesIterator.endPosition()" because the return 
value of "org.apache.lucene.util.PriorityQueue.top()" is 
nulljava.lang.NullPointerException: Cannot invoke 
"org.apache.lucene.search.MatchesIterator.endPosition()" because the return 
value of "org.apache.lucene.util.PriorityQueue.top()" is null
 at 
org.apache.lucene.search.DisjunctionMatchesIterator.endPosition(DisjunctionMatchesIterator.java:233)
 at 
org.apache.lucene.queries.intervals.MultiTermIntervalsSource$1.endPosition(MultiTermIntervalsSource.java:132)
 at 
org.apache.lucene.search.FilterMatchesIterator.endPosition(FilterMatchesIterator.java:49)
 at 
org.apache.lucene.queries.intervals.CachingMatchesIterator.getSubMatches(CachingMatchesIterator.java:88)
 at 
org.apache.lucene.queries.intervals.MinimizingConjunctionMatchesIterator.getSubMatches(MinimizingConjunctionMatchesIterator.java:96)
 at 
org.apache.lucene.queries.intervals.IntervalMatches$1.getSubMatches(IntervalMatches.java:82)
 at 
org.apache.lucene.search.FilterMatchesIterator.getSubMatches(FilterMatchesIterator.java:64)
 at 
org.apache.lucene.search.uhighlight.OffsetsEnum$OfMatchesIteratorWithSubs.nextWhenMatchesIterator(OffsetsEnum.java:209)
 at 
org.apache.lucene.search.uhighlight.OffsetsEnum$OfMatchesIteratorWithSubs.nextPosition(OffsetsEnum.java:201)
 at 
org.apache.lucene.search.uhighlight.FieldHighlighter.highlightOffsetsEnums(FieldHighlighter.java:134)
 at 
org.apache.lucene.search.uhighlight.FieldHighlighter.highlightFieldForDoc(FieldHighlighter.java:83)
 at 
org.apache.lucene.search.uhighlight.UnifiedHighlighter.highlightFieldsAsObjects(UnifiedHighlighter.java:635)
 at 
org.apache.lucene.search.uhighlight.UnifiedHighlighter.highlightFields(UnifiedHighlighter.java:505)
 at 
org.apache.lucene.search.uhighlight.UnifiedHighlighter.highlightFields(UnifiedHighlighter.java:483)
 at 
org.apache.lucene.search.uhighlight.UnifiedHighlighter.highlight(UnifiedHighlighter.java:416)
{code}
 

Search by the same query completes without any exception, ordered/unordered and 
larger gaps have no effect.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to