[ https://issues.apache.org/jira/browse/LUCENE-9555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mayya Sharipova updated LUCENE-9555: ------------------------------------ Description: Some collectors provide iterators that can efficiently skip non-competitive docs. When using DefaultBulkScorer#score function we create a conjunction of scorerIterator and collectorIterator. The problem could be if scorerIterator has already been advanced. As collectorIterator always starts from a docID = -1, and for creation of conjunction iterator we need all of its sub-iterators to be on the same doc, the creation of conjunction iterator will fail. We need to create a conjunction between scorerIterator and collectorIterator only if scorerIterator has not been advanced yet. Relates to https://issues.apache.org/jira/browse/LUCENE-9280 Relates to https://issues.apache.org/jira/browse/LUCENE-9541 was: Some collectors provide iterators that can efficiently skip non-competitive docs. When using DefaultBulkScorer#score function we create a conjunction of scorerIterator and collectorIterator. The problem could be if scorerIterator has already been advanced. As collectorIterator always starts from a docID = -1, and for creation of conjunction iterator we need all of its sub-iterators to be on the same doc, the creation of conjunction iterator will fail. We need to create a conjunction between scorerIterator and collectorIterator only if scorerIterator has not been advanced yet. Relates to https://issues.apache.org/jira/browse/LUCENE-9280 Relates to https://issues.apache.org/jira/browse/LUCENE-9541 > Sort optimization failure if scorerIterator is already advanced > --------------------------------------------------------------- > > Key: LUCENE-9555 > URL: https://issues.apache.org/jira/browse/LUCENE-9555 > Project: Lucene - Core > Issue Type: Bug > Reporter: Mayya Sharipova > Priority: Minor > > Some collectors provide iterators that can efficiently skip non-competitive > docs. When using DefaultBulkScorer#score function we create a conjunction of > scorerIterator and collectorIterator. The problem could be if scorerIterator > has already been advanced. As collectorIterator always starts from a docID = > -1, and for creation of conjunction iterator we need all of its > sub-iterators to be on the same doc, the creation of conjunction iterator > will fail. > We need to create a conjunction between scorerIterator and collectorIterator > only if scorerIterator has not been advanced yet. > Relates to https://issues.apache.org/jira/browse/LUCENE-9280 > Relates to https://issues.apache.org/jira/browse/LUCENE-9541 > > -- 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