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]