public class BlockTermsReader extends FieldsProducer
PostingsReaderBase. This class is reusable for
codecs that use a different format for
docs/freqs/positions (though codecs are also free to
make their own terms dict impl).
This class also interacts with an instance of TermsIndexReaderBase, to abstract away the specific
implementation of the terms dict index.
| Modifier and Type | Class and Description |
|---|---|
private static class |
BlockTermsReader.FieldAndTerm |
private class |
BlockTermsReader.FieldReader |
| Modifier and Type | Field and Description |
|---|---|
private static long |
BASE_RAM_BYTES_USED |
private static long |
FIELD_READER_RAM_BYTES_USED |
private java.util.TreeMap<java.lang.String,BlockTermsReader.FieldReader> |
fields |
private IndexInput |
in |
private TermsIndexReaderBase |
indexReader |
private PostingsReaderBase |
postingsReader |
EMPTY_ARRAY| Constructor and Description |
|---|
BlockTermsReader(TermsIndexReaderBase indexReader,
PostingsReaderBase postingsReader,
SegmentReadState state) |
| Modifier and Type | Method and Description |
|---|---|
void |
checkIntegrity()
Checks consistency of this reader.
|
void |
close() |
java.util.Collection<Accountable> |
getChildResources()
Returns nested resources of this class.
|
java.util.Iterator<java.lang.String> |
iterator()
Returns an iterator that will step through all fields
names.
|
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
private void |
seekDir(IndexInput input) |
int |
size()
Returns the number of fields or -1 if the number of
distinct field names is unknown.
|
Terms |
terms(java.lang.String field)
Get the
Terms for this field. |
java.lang.String |
toString() |
getMergeInstanceprivate static final long BASE_RAM_BYTES_USED
private final IndexInput in
private final PostingsReaderBase postingsReader
private final java.util.TreeMap<java.lang.String,BlockTermsReader.FieldReader> fields
private TermsIndexReaderBase indexReader
private static final long FIELD_READER_RAM_BYTES_USED
public BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state) throws java.io.IOException
java.io.IOExceptionprivate void seekDir(IndexInput input) throws java.io.IOException
java.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class FieldsProducerjava.io.IOExceptionpublic java.util.Iterator<java.lang.String> iterator()
Fieldspublic Terms terms(java.lang.String field) throws java.io.IOException
FieldsTerms for this field. This will return
null if the field does not exist.public int size()
FieldsFields.iterator() will return as many field names.public long ramBytesUsed()
Accountablepublic java.util.Collection<Accountable> getChildResources()
AccountableAccountablespublic java.lang.String toString()
toString in class java.lang.Objectpublic void checkIntegrity()
throws java.io.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 FieldsProducerjava.io.IOException