Class BlockTermsReader
- java.lang.Object
-
- org.apache.lucene.index.Fields
-
- org.apache.lucene.codecs.FieldsProducer
-
- org.apache.lucene.codecs.blockterms.BlockTermsReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Iterable<java.lang.String>,Accountable
public class BlockTermsReader extends FieldsProducer
Handles a terms dict, but decouples all details of doc/freqs/positions reading to an instance ofPostingsReaderBase. 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 Classes Modifier and Type Class Description private static classBlockTermsReader.FieldAndTermprivate classBlockTermsReader.FieldReader
-
Field Summary
Fields Modifier and Type Field Description private static longBASE_RAM_BYTES_USEDprivate static longFIELD_READER_RAM_BYTES_USEDprivate java.util.TreeMap<java.lang.String,BlockTermsReader.FieldReader>fieldsprivate IndexInputinprivate TermsIndexReaderBaseindexReaderprivate PostingsReaderBasepostingsReader-
Fields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAY
-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckIntegrity()Checks consistency of this reader.voidclose()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.longramBytesUsed()Return 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.Termsterms(java.lang.String field)Get theTermsfor this field.java.lang.StringtoString()-
Methods inherited from class org.apache.lucene.codecs.FieldsProducer
getMergeInstance
-
-
-
-
Field Detail
-
BASE_RAM_BYTES_USED
private static final long BASE_RAM_BYTES_USED
-
in
private final IndexInput in
-
postingsReader
private final PostingsReaderBase postingsReader
-
fields
private final java.util.TreeMap<java.lang.String,BlockTermsReader.FieldReader> fields
-
indexReader
private TermsIndexReaderBase indexReader
-
FIELD_READER_RAM_BYTES_USED
private static final long FIELD_READER_RAM_BYTES_USED
-
-
Constructor Detail
-
BlockTermsReader
public BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
seekDir
private void seekDir(IndexInput input) throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classFieldsProducer- Throws:
java.io.IOException
-
iterator
public java.util.Iterator<java.lang.String> iterator()
Description copied from class:FieldsReturns an iterator that will step through all fields names. This will not return null.
-
terms
public Terms terms(java.lang.String field) throws java.io.IOException
Description copied from class:FieldsGet theTermsfor this field. This will return null if the field does not exist.
-
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
public java.util.Collection<Accountable> 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:
Accountables
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
checkIntegrity
public void checkIntegrity() throws java.io.IOExceptionDescription 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:
java.io.IOException
-
-