Class BlockTermsReader
java.lang.Object
org.apache.lucene.index.Fields
org.apache.lucene.codecs.FieldsProducer
org.apache.lucene.codecs.blockterms.BlockTermsReader
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<String>,Accountable
Handles a terms dict, but decouples all details of
doc/freqs/positions reading to an instance of
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate static final longprivate final TreeMap<String, BlockTermsReader.FieldReader> private final IndexInputprivate TermsIndexReaderBaseprivate final PostingsReaderBaseFields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAYFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsConstructorDescriptionBlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state) -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks consistency of this reader.voidclose()Returns nested resources of this class.iterator()Returns an iterator that will step through all fields names.longReturn the memory usage of this object in bytes.private voidseekDir(IndexInput input) intsize()Returns the number of fields or -1 if the number of distinct field names is unknown.Get theTermsfor this field.toString()Methods inherited from class org.apache.lucene.codecs.FieldsProducer
getMergeInstanceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
BASE_RAM_BYTES_USED
private static final long BASE_RAM_BYTES_USED -
in
-
postingsReader
-
fields
-
indexReader
-
FIELD_READER_RAM_BYTES_USED
private static final long FIELD_READER_RAM_BYTES_USED
-
-
Constructor Details
-
BlockTermsReader
public BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state) throws IOException - Throws:
IOException
-
-
Method Details
-
seekDir
- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classFieldsProducer- Throws:
IOException
-
iterator
Description copied from class:FieldsReturns an iterator that will step through all fields names. This will not return null. -
terms
Description copied from class:FieldsGet theTermsfor this field. This will return null if the field does not exist.- Specified by:
termsin classFields- Throws:
IOException
-
size
public int size()Description copied from class:FieldsReturns the number of fields or -1 if the number of distinct field names is unknown. If >= 0,Fields.iterator()will return as many field names. -
ramBytesUsed
public long ramBytesUsed()Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal. -
getChildResources
Description copied from interface:AccountableReturns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).- See Also:
-
toString
-
checkIntegrity
Description copied from class:FieldsProducerChecks consistency of this reader.Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
- Specified by:
checkIntegrityin classFieldsProducer- Throws:
IOException
-