[ https://issues.apache.org/jira/browse/LUCENE-10075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17423860#comment-17423860 ]
Nikolay Khitrin commented on LUCENE-10075: ------------------------------------------ [~romseygeek], thanks for keeping attention to this issues. But, I'm still unsure, can LUCENE-10140 issue (also based on caching) be fixed by amending CachingMatchesIterator itself or we have to completely rebuild caching for proper highlighting? > 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: main (9.0), 8.7 > Reporter: Nikolay Khitrin > Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > 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: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org