org.apache.lucene.codecs
Class MultiLevelSkipListReader

java.lang.Object
  extended by org.apache.lucene.codecs.MultiLevelSkipListReader
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
Lucene40SkipListReader

public abstract class MultiLevelSkipListReader
extends Object
implements Closeable

This abstract class reads skip lists with multiple levels. See MultiLevelSkipListWriter for the information about the encoding of the multi level skip lists. Subclasses must implement the abstract method readSkipData(int, IndexInput) which defines the actual format of the skip data.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Field Summary
protected  int maxNumberOfSkipLevels
          the maximum number of skip levels possible for this index
protected  int[] skipDoc
          Doc id of current skip entry per level.
 
Constructor Summary
protected MultiLevelSkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval)
          Creates a MultiLevelSkipListReader, where skipInterval and skipMultiplier are the same.
protected MultiLevelSkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval, int skipMultiplier)
          Creates a MultiLevelSkipListReader.
 
Method Summary
 void close()
           
 int getDoc()
          Returns the id of the doc to which the last call of skipTo(int) has skipped.
 void init(long skipPointer, int df)
          Initializes the reader, for reuse on a new term.
protected abstract  int readSkipData(int level, IndexInput skipStream)
          Subclasses must implement the actual skip data encoding in this method.
protected  void seekChild(int level)
          Seeks the skip entry on the given level
protected  void setLastSkipData(int level)
          Copies the values of the last read skip entry on this level
 int skipTo(int target)
          Skips entries to the first beyond the current whose document number is greater than or equal to target.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxNumberOfSkipLevels

protected int maxNumberOfSkipLevels
the maximum number of skip levels possible for this index


skipDoc

protected int[] skipDoc
Doc id of current skip entry per level.

Constructor Detail

MultiLevelSkipListReader

protected MultiLevelSkipListReader(IndexInput skipStream,
                                   int maxSkipLevels,
                                   int skipInterval,
                                   int skipMultiplier)
Creates a MultiLevelSkipListReader.


MultiLevelSkipListReader

protected MultiLevelSkipListReader(IndexInput skipStream,
                                   int maxSkipLevels,
                                   int skipInterval)
Creates a MultiLevelSkipListReader, where skipInterval and skipMultiplier are the same.

Method Detail

getDoc

public int getDoc()
Returns the id of the doc to which the last call of skipTo(int) has skipped.


skipTo

public int skipTo(int target)
           throws IOException
Skips entries to the first beyond the current whose document number is greater than or equal to target. Returns the current doc count.

Throws:
IOException

seekChild

protected void seekChild(int level)
                  throws IOException
Seeks the skip entry on the given level

Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Throws:
IOException

init

public void init(long skipPointer,
                 int df)
Initializes the reader, for reuse on a new term.


readSkipData

protected abstract int readSkipData(int level,
                                    IndexInput skipStream)
                             throws IOException
Subclasses must implement the actual skip data encoding in this method.

Parameters:
level - the level skip data shall be read from
skipStream - the skip stream to read from
Throws:
IOException

setLastSkipData

protected void setLastSkipData(int level)
Copies the values of the last read skip entry on this level



Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.