Module org.apache.lucene.suggest
Class CompletionFieldsProducer
- java.lang.Object
-
- org.apache.lucene.index.Fields
-
- org.apache.lucene.codecs.FieldsProducer
-
- org.apache.lucene.search.suggest.document.CompletionFieldsProducer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Iterable<java.lang.String>
,Accountable
final class CompletionFieldsProducer extends FieldsProducer implements Accountable
Completion index (.cmp) is opened and read at instantiation to read inSuggestField
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
-
-
Field Summary
Fields Modifier and Type Field Description private FieldsProducer
delegateFieldsProducer
private IndexInput
dictIn
private java.util.Map<java.lang.String,CompletionsTermsReader>
readers
-
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 Modifier Constructor Description (package private)
CompletionFieldsProducer(java.lang.String codecName, SegmentReadState state, CompletionPostingsFormat.FSTLoadMode fstLoadMode)
private
CompletionFieldsProducer(FieldsProducer delegateFieldsProducer, java.util.Map<java.lang.String,CompletionsTermsReader> readers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 theTerms
for this field.
-
-
-
Field Detail
-
delegateFieldsProducer
private FieldsProducer delegateFieldsProducer
-
readers
private java.util.Map<java.lang.String,CompletionsTermsReader> readers
-
dictIn
private IndexInput dictIn
-
-
Constructor Detail
-
CompletionFieldsProducer
private CompletionFieldsProducer(FieldsProducer delegateFieldsProducer, java.util.Map<java.lang.String,CompletionsTermsReader> readers)
-
CompletionFieldsProducer
CompletionFieldsProducer(java.lang.String codecName, SegmentReadState state, CompletionPostingsFormat.FSTLoadMode fstLoadMode) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
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
-
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
-
getMergeInstance
public FieldsProducer getMergeInstance()
Description copied from class:FieldsProducer
Returns an instance optimized for merging. This instance may only be consumed in the thread that calledFieldsProducer.getMergeInstance()
.The default implementation returns
this
- Overrides:
getMergeInstance
in classFieldsProducer
-
ramBytesUsed
public long ramBytesUsed()
Description copied from interface:Accountable
Return the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsed
in interfaceAccountable
-
getChildResources
public java.util.Collection<Accountable> getChildResources()
Description copied from interface:Accountable
Returns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).- Specified by:
getChildResources
in interfaceAccountable
- See Also:
Accountables
-
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.
-
-