- java.lang.Object
-
- org.apache.lucene.index.Fields
-
- org.apache.lucene.codecs.FieldsProducer
-
- org.apache.lucene.codecs.memory.FSTTermsReader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Iterable<java.lang.String>
public class FSTTermsReader extends FieldsProducer
FST-based terms dictionary reader.The FST directly maps each term and its metadata, it is memory resident.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
FSTTermsReader.TermsReader
-
Field Summary
Fields Modifier and Type Field Description private java.util.TreeMap<java.lang.String,FSTTermsReader.TermsReader>
fields
private IndexInput
fstTermsInput
private PostingsReaderBase
postingsReader
-
Fields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description FSTTermsReader(SegmentReadState state, PostingsReaderBase postingsReader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkFieldSummary(SegmentInfo info, IndexInput in, FSTTermsReader.TermsReader field, FSTTermsReader.TermsReader previous)
void
checkIntegrity()
Checks consistency of this reader.void
close()
java.util.Iterator<java.lang.String>
iterator()
Returns an iterator that will step through all fields names.private void
seekDir(IndexInput in)
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 theTerms
for this field.java.lang.String
toString()
(package private) static <T> void
walk(FST<T> fst)
-
Methods inherited from class org.apache.lucene.codecs.FieldsProducer
getMergeInstance
-
-
-
-
Field Detail
-
fields
private final java.util.TreeMap<java.lang.String,FSTTermsReader.TermsReader> fields
-
postingsReader
private final PostingsReaderBase postingsReader
-
fstTermsInput
private final IndexInput fstTermsInput
-
-
Constructor Detail
-
FSTTermsReader
public FSTTermsReader(SegmentReadState state, PostingsReaderBase postingsReader) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
seekDir
private void seekDir(IndexInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
checkFieldSummary
private void checkFieldSummary(SegmentInfo info, IndexInput in, FSTTermsReader.TermsReader field, FSTTermsReader.TermsReader previous) throws java.io.IOException
- Throws:
java.io.IOException
-
iterator
public java.util.Iterator<java.lang.String> iterator()
Description copied from class:Fields
Returns 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:Fields
Get theTerms
for this field. This will return null if the field does not exist.
-
size
public int size()
Description copied from class:Fields
Returns 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.
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classFieldsProducer
- Throws:
java.io.IOException
-
walk
static <T> void walk(FST<T> fst) throws java.io.IOException
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
checkIntegrity
public void checkIntegrity() throws java.io.IOException
Description copied from class:FieldsProducer
Checks 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:
checkIntegrity
in classFieldsProducer
- Throws:
java.io.IOException
-
-