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() |
getMergeInstanceclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic 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
IOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class FieldsProducerIOExceptionpublic Iterator<String> iterator()
Fieldspublic Terms terms(String field) throws IOException
FieldsTerms for this field. This will return
null if the field does not exist.terms in class FieldsIOExceptionpublic int size()
FieldsFields.iterator() will return as many field names.public long ramBytesUsed()
Accountablepublic Collection<Accountable> getChildResources()
AccountableAccountablespublic void checkIntegrity()
throws IOException
FieldsProducerNote 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 FieldsProducerIOExceptionCopyright © 2000-2019 Apache Software Foundation. All Rights Reserved.