Exemple #1
0
        public override bool SkipTo(int target)
        {
            // first scan in cache
            for (pointer++; pointer < pointerMax; pointer++)
            {
                if (docs[pointer] >= target)
                {
                    doc = docs[pointer];
                    return(true);
                }
            }

            // not found in cache, seek underlying stream
            bool result = termDocs.SkipTo(target);

            if (result)
            {
                pointerMax     = 1;
                pointer        = 0;
                docs[pointer]  = doc = termDocs.Doc();
                freqs[pointer] = termDocs.Freq();
            }
            else
            {
                doc = System.Int32.MaxValue;
            }
            return(result);
        }