Class UniformSplitTermsReader
- java.lang.Object
-
- org.apache.lucene.index.Fields
-
- org.apache.lucene.codecs.FieldsProducer
-
- org.apache.lucene.codecs.uniformsplit.UniformSplitTermsReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<String>
- Direct Known Subclasses:
STUniformSplitTermsReader
public class UniformSplitTermsReader extends FieldsProducer
A block-based terms index and dictionary based on the Uniform Split technique.- See Also:
UniformSplitTermsWriter- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected IndexInputblockInputprotected IndexInputdictionaryInputprotected Map<String,UniformSplitTerms>fieldToTermsMapprotected PostingsReaderBasepostingsReaderprotected Collection<String>sortedFieldNamesprotected intversion-
Fields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap)protectedUniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, FieldMetadata.Serializer fieldMetadataReader, String codecName, int versionStart, int versionCurrent, String termsBlocksExtension, String dictionaryExtension)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckIntegrity()voidclose()protected IndexDictionary.BrowserSuppliercreateDictionaryBrowserSupplier(SegmentReadState state, IndexInput dictionaryInput, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, boolean dictionaryOnHeap)protected voidfillFieldMap(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, IndexInput dictionaryInput, IndexInput blockInput, Collection<FieldMetadata> fieldMetadataCollection, FieldInfos fieldInfos)Iterator<String>iterator()protected Collection<FieldMetadata>readEncodedFieldsMetadata(int numFields, DataInput metadataInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)protected Collection<FieldMetadata>readFieldsMetadata(IndexInput indexInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)protected Collection<FieldMetadata>readUnencodedFieldsMetadata(int numFields, DataInput metadataInput, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)protected voidseekFieldsMetadata(IndexInput indexInput)Positions the givenIndexInputat the beginning of the fields metadata.intsize()Termsterms(String field)-
Methods inherited from class org.apache.lucene.codecs.FieldsProducer
getMergeInstance
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
postingsReader
protected final PostingsReaderBase postingsReader
-
version
protected final int version
-
blockInput
protected final IndexInput blockInput
-
dictionaryInput
protected final IndexInput dictionaryInput
-
fieldToTermsMap
protected final Map<String,UniformSplitTerms> fieldToTermsMap
-
sortedFieldNames
protected final Collection<String> sortedFieldNames
-
-
Constructor Detail
-
UniformSplitTermsReader
public UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap) throws IOException
- Parameters:
blockDecoder- Optional block decoder, may be null if none. It can be used for decompression or decryption.dictionaryOnHeap- Whether to force loading the terms dictionary on-heap. By default it is kept off-heap without impact on performance. If block encoding/decoding is used, then the dictionary is always loaded on-heap whatever this parameter value is.- Throws:
IOException
-
UniformSplitTermsReader
protected UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, FieldMetadata.Serializer fieldMetadataReader, String codecName, int versionStart, int versionCurrent, String termsBlocksExtension, String dictionaryExtension) throws IOException
-
-
Method Detail
-
fillFieldMap
protected void fillFieldMap(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, IndexInput dictionaryInput, IndexInput blockInput, Collection<FieldMetadata> fieldMetadataCollection, FieldInfos fieldInfos) throws IOException
- Throws:
IOException
-
createDictionaryBrowserSupplier
protected IndexDictionary.BrowserSupplier createDictionaryBrowserSupplier(SegmentReadState state, IndexInput dictionaryInput, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, boolean dictionaryOnHeap) throws IOException
- Throws:
IOException
-
readFieldsMetadata
protected Collection<FieldMetadata> readFieldsMetadata(IndexInput indexInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
- Parameters:
indexInput-IndexInputmust be positioned to the fields metadata details by callingseekFieldsMetadata(IndexInput)before this call.blockDecoder- Optional block decoder, may be null if none.- Throws:
IOException
-
readEncodedFieldsMetadata
protected Collection<FieldMetadata> readEncodedFieldsMetadata(int numFields, DataInput metadataInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
- Throws:
IOException
-
readUnencodedFieldsMetadata
protected Collection<FieldMetadata> readUnencodedFieldsMetadata(int numFields, DataInput metadataInput, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classFieldsProducer- Throws:
IOException
-
checkIntegrity
public void checkIntegrity() throws IOException- Specified by:
checkIntegrityin classFieldsProducer- Throws:
IOException
-
seekFieldsMetadata
protected void seekFieldsMetadata(IndexInput indexInput) throws IOException
Positions the givenIndexInputat the beginning of the fields metadata.- Throws:
IOException
-
-