Fix for bug 27799.

git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@150254 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Doug Cutting 2004-03-26 21:55:55 +00:00
parent 100c877a90
commit c47982eb56
1 changed files with 4 additions and 4 deletions

View File

@ -68,6 +68,7 @@ class SegmentTermDocs implements TermDocs {
int freq;
private int skipInterval;
private int numSkips;
private int skipCount;
private InputStream skipStream;
private int skipDoc;
@ -107,6 +108,7 @@ class SegmentTermDocs implements TermDocs {
doc = 0;
skipDoc = 0;
skipCount = 0;
numSkips = df / skipInterval;
freqPointer = ti.freqPointer;
proxPointer = ti.proxPointer;
skipPointer = freqPointer + ti.skipOffset;
@ -192,16 +194,14 @@ class SegmentTermDocs implements TermDocs {
long lastProxPointer = -1;
int numSkipped = -1 - (count % skipInterval);
while (target > skipDoc) {
while (target > skipDoc && skipCount < numSkips) {
lastSkipDoc = skipDoc;
lastFreqPointer = freqPointer;
lastProxPointer = proxPointer;
if (skipDoc != 0 && skipDoc >= doc)
numSkipped += skipInterval;
if ((count + numSkipped + skipInterval) >= df)
break; // no more skips
skipDoc += skipStream.readVInt();
freqPointer += skipStream.readVInt();
proxPointer += skipStream.readVInt();