This abstract class reads skip lists with multiple levels.
More...
#include <MultiLevelSkipListReader.h>
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.
◆ MultiLevelSkipListReader()
Lucene::MultiLevelSkipListReader::MultiLevelSkipListReader |
( |
const IndexInputPtr & |
skipStream, |
|
|
int32_t |
maxSkipLevels, |
|
|
int32_t |
skipInterval |
|
) |
| |
◆ ~MultiLevelSkipListReader()
virtual Lucene::MultiLevelSkipListReader::~MultiLevelSkipListReader |
( |
| ) |
|
|
virtual |
◆ _getClassName()
static String Lucene::MultiLevelSkipListReader::_getClassName |
( |
| ) |
|
|
inlinestatic |
◆ close()
virtual void Lucene::MultiLevelSkipListReader::close |
( |
| ) |
|
|
virtual |
◆ getClassName()
virtual String Lucene::MultiLevelSkipListReader::getClassName |
( |
| ) |
|
|
inlinevirtual |
◆ getDoc()
virtual int32_t Lucene::MultiLevelSkipListReader::getDoc |
( |
| ) |
|
|
virtual |
Returns the id of the doc to which the last call of skipTo(int)
has skipped.
◆ init()
virtual void Lucene::MultiLevelSkipListReader::init |
( |
int64_t |
skipPointer, |
|
|
int32_t |
df |
|
) |
| |
|
virtual |
◆ loadNextSkip()
virtual bool Lucene::MultiLevelSkipListReader::loadNextSkip |
( |
int32_t |
level | ) |
|
|
protectedvirtual |
◆ loadSkipLevels()
virtual void Lucene::MultiLevelSkipListReader::loadSkipLevels |
( |
| ) |
|
|
protectedvirtual |
◆ readSkipData()
virtual int32_t Lucene::MultiLevelSkipListReader::readSkipData |
( |
int32_t |
level, |
|
|
const IndexInputPtr & |
skipStream |
|
) |
| |
|
protectedpure virtual |
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 |
Implemented in Lucene::DefaultSkipListReader.
◆ seekChild()
virtual void Lucene::MultiLevelSkipListReader::seekChild |
( |
int32_t |
level | ) |
|
|
protectedvirtual |
◆ setLastSkipData()
virtual void Lucene::MultiLevelSkipListReader::setLastSkipData |
( |
int32_t |
level | ) |
|
|
protectedvirtual |
◆ shared_from_this()
◆ skipTo()
virtual int32_t Lucene::MultiLevelSkipListReader::skipTo |
( |
int32_t |
target | ) |
|
|
virtual |
Skips entries to the first beyond the current whose document number is greater than or equal to target. Returns the current doc count.
◆ childPointer
Collection<int64_t> Lucene::MultiLevelSkipListReader::childPointer |
|
protected |
◆ docCount
int32_t Lucene::MultiLevelSkipListReader::docCount |
|
protected |
◆ haveSkipped
bool Lucene::MultiLevelSkipListReader::haveSkipped |
|
protected |
◆ inputIsBuffered
bool Lucene::MultiLevelSkipListReader::inputIsBuffered |
|
protected |
◆ lastChildPointer
int64_t Lucene::MultiLevelSkipListReader::lastChildPointer |
|
protected |
◆ lastDoc
int32_t Lucene::MultiLevelSkipListReader::lastDoc |
|
protected |
◆ maxNumberOfSkipLevels
int32_t Lucene::MultiLevelSkipListReader::maxNumberOfSkipLevels |
|
protected |
the maximum number of skip levels possible for this index
◆ numberOfLevelsToBuffer
int32_t Lucene::MultiLevelSkipListReader::numberOfLevelsToBuffer |
|
protected |
Defines the number of top skip levels to buffer in memory. Reducing this number results in less memory usage, but possibly slower performance due to more random I/Os. Please notice that the space each level occupies is limited by the skipInterval. The top level can not contain more than skipLevel entries, the second top level can not contain more than skipLevel^2 entries and so forth.
◆ numberOfSkipLevels
int32_t Lucene::MultiLevelSkipListReader::numberOfSkipLevels |
|
protected |
number of levels in this skip list
◆ numSkipped
Collection<int32_t> Lucene::MultiLevelSkipListReader::numSkipped |
|
protected |
◆ skipDoc
Collection<int32_t> Lucene::MultiLevelSkipListReader::skipDoc |
|
protected |
◆ skipInterval
Collection<int32_t> Lucene::MultiLevelSkipListReader::skipInterval |
|
protected |
◆ skipPointer
Collection<int64_t> Lucene::MultiLevelSkipListReader::skipPointer |
|
protected |
◆ skipStream
The documentation for this class was generated from the following file: