public final class BlockTreeTermsReader extends FieldsProducer
NOTE: this terms dictionary supports min/maxItemsPerBlock during indexing to control how much memory the terms index uses.
The data structure used by this implementation is very similar to a burst trie (http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.3499), but with added logic to break up too-large blocks of all terms sharing a given prefix into smaller ones.
Use CheckIndex
with the -verbose
option to see summary statistics on the blocks in the
dictionary.
See BlockTreeTermsWriter
.
Modifier and Type | Class and Description |
---|---|
static class |
BlockTreeTermsReader.FSTLoadMode
An enum that allows to control if term index FSTs are loaded into memory or read off-heap
|
Modifier and Type | Field and Description |
---|---|
static String |
FST_MODE_KEY
Attribute key for fst mode.
|
static int |
VERSION_AUTO_PREFIX_TERMS_REMOVED
Auto-prefix terms have been superseded by points.
|
static int |
VERSION_CURRENT
Current terms format.
|
static int |
VERSION_START
Initial terms format.
|
EMPTY_ARRAY
Constructor and Description |
---|
BlockTreeTermsReader(PostingsReaderBase postingsReader,
SegmentReadState state,
BlockTreeTermsReader.FSTLoadMode defaultLoadMode)
Sole constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
checkIntegrity()
Checks consistency of this reader.
|
void |
close() |
Collection<Accountable> |
getChildResources()
Returns nested resources of this class.
|
Iterator<String> |
iterator()
Returns an iterator that will step through all fields
names.
|
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
int |
size()
Returns the number of fields or -1 if the number of
distinct field names is unknown.
|
Terms |
terms(String field)
Get the
Terms for this field. |
String |
toString() |
getMergeInstance
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public static final String FST_MODE_KEY
public static final int VERSION_START
public static final int VERSION_AUTO_PREFIX_TERMS_REMOVED
public static final int VERSION_CURRENT
public BlockTreeTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockTreeTermsReader.FSTLoadMode defaultLoadMode) throws IOException
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class FieldsProducer
IOException
public Iterator<String> iterator()
Fields
public Terms terms(String field) throws IOException
Fields
Terms
for this field. This will return
null if the field does not exist.terms
in class Fields
IOException
public int size()
Fields
Fields.iterator()
will return as many field names.public long ramBytesUsed()
Accountable
public Collection<Accountable> getChildResources()
Accountable
Accountables
public void checkIntegrity() throws IOException
FieldsProducer
Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
checkIntegrity
in class FieldsProducer
IOException
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.