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:
Closeable,AutoCloseable,Iterable<String>,Accountable
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate FieldsProducerprivate IndexInputprivate Map<String, CompletionsTermsReader> Fields inherited from class org.apache.lucene.index.Fields
EMPTY_ARRAYFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsModifierConstructorDescription(package private)CompletionFieldsProducer(String codecName, SegmentReadState state, CompletionPostingsFormat.FSTLoadMode fstLoadMode) privateCompletionFieldsProducer(FieldsProducer delegateFieldsProducer, Map<String, CompletionsTermsReader> readers) -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks consistency of this reader.voidclose()Returns nested resources of this class.Returns an instance optimized for merging.iterator()Returns an iterator that will step through all fields names.longReturn the memory usage of this object in bytes.intsize()Returns the number of fields or -1 if the number of distinct field names is unknown.Get theTermsfor this field.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
delegateFieldsProducer
-
readers
-
dictIn
-
-
Constructor Details
-
CompletionFieldsProducer
private CompletionFieldsProducer(FieldsProducer delegateFieldsProducer, Map<String, CompletionsTermsReader> readers) -
CompletionFieldsProducer
CompletionFieldsProducer(String codecName, SegmentReadState state, CompletionPostingsFormat.FSTLoadMode fstLoadMode) throws IOException - Throws:
IOException
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classFieldsProducer- Throws:
IOException
-
checkIntegrity
Description 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:
IOException
-
getMergeInstance
Description copied from class:FieldsProducerReturns an instance optimized for merging. This instance may only be consumed in the thread that calledFieldsProducer.getMergeInstance().The default implementation returns
this- Overrides:
getMergeInstancein classFieldsProducer
-
ramBytesUsed
public long ramBytesUsed()Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsedin interfaceAccountable
-
getChildResources
Description copied from interface:AccountableReturns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).- Specified by:
getChildResourcesin interfaceAccountable- See Also:
-
iterator
Description copied from class:FieldsReturns an iterator that will step through all fields names. This will not return null. -
terms
Description copied from class:FieldsGet theTermsfor this field. This will return null if the field does not exist.- Specified by:
termsin classFields- Throws:
IOException
-
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.
-