[
https://issues.apache.org/jira/browse/LUCENE-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jack Mazanec updated LUCENE-10674:
----------------------------------
Description:
In
[BitSetConjunctionDISI.doNext()|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285]
if the lead doc is greater than or equal to the length of any of the BitSets,
NO_MORE_DOCS is returned.
On subsequent calls to
[BitSetConjunctionDISI.docId()]([https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L263]),
the lead's docID which is not exhausted will be returned.
I think this could be fixed by calling lead.advance(NO_MORE_DOCS) before
returning NO_MORE_DOCS in doNext.
Related issue: https://issues.apache.org/jira/browse/LUCENE-9541
was:
In
[BitSetConjunctionDISI.doNext()|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285][,|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285],]
if the lead doc is greater than or equal to the length of any of the BitSets,
NO_MORE_DOCS is returned.
On subsequent calls to
[BitSetConjunctionDISI.docId()](https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L263),
the lead's docID which is not exhausted will be returned.
I think this could be fixed by calling lead.advance(NO_MORE_DOCS) before
returning NO_MORE_DOCS in doNext.
Related issue: https://issues.apache.org/jira/browse/LUCENE-9541
> BitSetConjunctionDISI iterators fall out of sync when lead doc >= minlength
> of bitsets
> --------------------------------------------------------------------------------------
>
> Key: LUCENE-10674
> URL: https://issues.apache.org/jira/browse/LUCENE-10674
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/search
> Affects Versions: 9.0, 9.1, 9.2, 9.3
> Reporter: Jack Mazanec
> Priority: Minor
>
> In
> [BitSetConjunctionDISI.doNext()|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285]
> if the lead doc is greater than or equal to the length of any of the
> BitSets, NO_MORE_DOCS is returned.
>
> On subsequent calls to
> [BitSetConjunctionDISI.docId()]([https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L263]),
> the lead's docID which is not exhausted will be returned.
>
> I think this could be fixed by calling lead.advance(NO_MORE_DOCS) before
> returning NO_MORE_DOCS in doNext.
>
> Related issue: https://issues.apache.org/jira/browse/LUCENE-9541
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]