You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Mayya Sharipova (Jira)" <ji...@apache.org> on 2020/10/05 10:34:00 UTC
[jira] [Updated] (LUCENE-9541) Ensure sub-iterators of
ConjunctionDISI are on the same document
[ https://issues.apache.org/jira/browse/LUCENE-9541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mayya Sharipova updated LUCENE-9541:
------------------------------------
Summary: Ensure sub-iterators of ConjunctionDISI are on the same document (was: BitSetConjunctionDISI doesn't advance based on its components)
> Ensure sub-iterators of ConjunctionDISI are on the same document
> ----------------------------------------------------------------
>
> Key: LUCENE-9541
> URL: https://issues.apache.org/jira/browse/LUCENE-9541
> Project: Lucene - Core
> Issue Type: Bug
> Reporter: Mayya Sharipova
> Priority: Minor
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Not completely sure if this is a bug.
> BitSetConjuctionDISI advances based on its lead – DocIdSetIterator iterator, and doesn't consider that its another component – BitSetIterator may have already advanced passed a certain doc. This may result in duplicate documents.
> For example if BitSetConjuctionDISI _disi_ is composed of DocIdSetIterator _a_ of docs [0,1] and BitSetIterator _b_ of docs [0,1]. Doing `b.nextDoc()` we are collecting doc0, doing `disi.nextDoc` we again collecting the same doc0.
> It seems that other conjunction iterators don't have this behaviour, if we are advancing any of their component pass a certain document, the whole conjunction iterator will also be advanced pass this document.
>
> This behaviour was exposed in this [PR|https://github.com/apache/lucene-solr/pull/1903].
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org