final class CompletionFieldsProducer extends FieldsProducer
Completion index (.cmp) is opened and read at instantiation to read in SuggestField
numbers and their FST offsets in the Completion dictionary (.lkp).
Completion dictionary (.lkp) is opened at instantiation and a field's FST is loaded
into memory the first time it is requested via terms(String)
.
NOTE: Only the footer is validated for Completion dictionary (.lkp) and not the checksum due to random access pattern and checksum validation being too costly at instantiation
Modifier and Type | Field and Description |
---|---|
private FieldsProducer |
delegateFieldsProducer |
private IndexInput |
dictIn |
private java.util.Map<java.lang.String,CompletionsTermsReader> |
readers |
EMPTY_ARRAY
Modifier | Constructor and Description |
---|---|
private |
CompletionFieldsProducer(FieldsProducer delegateFieldsProducer,
java.util.Map<java.lang.String,CompletionsTermsReader> readers) |
(package private) |
CompletionFieldsProducer(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.
|
FieldsProducer |
getMergeInstance()
Returns an instance optimized for merging.
|
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.
|
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. |
private FieldsProducer delegateFieldsProducer
private java.util.Map<java.lang.String,CompletionsTermsReader> readers
private IndexInput dictIn
private CompletionFieldsProducer(FieldsProducer delegateFieldsProducer, java.util.Map<java.lang.String,CompletionsTermsReader> readers)
CompletionFieldsProducer(SegmentReadState state) throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class FieldsProducer
java.io.IOException
public void checkIntegrity() throws java.io.IOException
FieldsProducer
Note 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 FieldsProducer
java.io.IOException
public FieldsProducer getMergeInstance()
FieldsProducer
FieldsProducer.getMergeInstance()
.
The default implementation returns this
getMergeInstance
in class FieldsProducer
public long ramBytesUsed()
Accountable
public java.util.Collection<Accountable> getChildResources()
Accountable
Accountables
public java.util.Iterator<java.lang.String> iterator()
Fields
public Terms terms(java.lang.String field) throws java.io.IOException
Fields
Terms
for this field. This will return
null if the field does not exist.public int size()
Fields
Fields.iterator()
will return as many field names.