[ 
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]
 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: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to