Index: SpanScorer.java =================================================================== --- SpanScorer.java (revision 234330) +++ SpanScorer.java (working copy) @@ -49,11 +49,19 @@ if (firstTime) { more = spans.next(); firstTime = false; + doc = -1; } if (!more) return false; freq = 0.0f; + + if (spans.doc() <= doc) { + throw new AssertionError("SpanScorer.next() A: spans " + spans + + "\nadvanced from " + doc + + " to " + spans.doc()); + } + doc = spans.doc(); while (more && doc == spans.doc()) { @@ -62,6 +70,12 @@ more = spans.next(); } + if (more && (spans.doc() <= doc)) { + throw new AssertionError("SpanScorer.next() B: spans " + spans + + "\nadvanced from " + doc + + " to " + spans.doc()); + } + return more || freq != 0.0f; }