You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The TestOr* queries failing were due to bugs in the tests, of course...
The actual problem here is that DisjunctionIntervalIterator doesn't take snapshots of its intervals, so the iterator is already positioned when we collect. I'll abstract out a SnapshotCollectingIntervalIterator, and both ConjunctionII and DisjunctionII can subclass from that.
OK, the relevant test here is TestNestedIntervalFilterQueries.testOrNearNearQuery. It seems as though the bug is actually in PositionFilterScorer (which should be called IntervalFilterScorer, but anyway). Will try and chase it down tonight.
The problem arises when you have a DisjunctionII wrapping an IntervalFilter over a ConjunctionII. When scorerAdvanced is called, a ConjunctionII can end up positioned on a document ahead of the parent DisjunctionII, which then trips asserts when the parent is advanced. I've tried to work out a way round this but am failing so far. Anybody else want to have a look?
See, eg, all the TestOr* tests in TestBasicIntervals.
Migrated from LUCENE-4555 by Alan Woodward (@romseygeek), resolved Nov 20 2012
Parent: #3952
The text was updated successfully, but these errors were encountered: