Class CompletionPostingsFormat
java.lang.Object
org.apache.lucene.codecs.PostingsFormat
org.apache.lucene.search.suggest.document.CompletionPostingsFormat
- All Implemented Interfaces:
NamedSPILoader.NamedSPI
- Direct Known Subclasses:
Completion50PostingsFormat
,Completion84PostingsFormat
,Completion90PostingsFormat
A
PostingsFormat
which supports document suggestion based on indexed SuggestField
s. Document suggestion is based on an weighted FST which map analyzed terms of a
SuggestField
to its surface form and document id.
Files:
.lkp
: Completion Dictionary.cmp
: Completion Index
Completion Dictionary
The .lkp file contains an FST for each suggest field
- CompletionDict (.lkp) --> Header, FSTNumSuggestFields, Footer
- Header -->
CodecHeader
- FST -->
FST<Long, BytesRef>
- Footer -->
CodecFooter
Notes:
- Header is a
CodecHeader
storing the version information for the Completion implementation. - FST maps all analyzed forms to surface forms of a SuggestField
Completion Index
The .cmp file contains an index into the completion dictionary, so that it can be accessed randomly.
- CompletionIndex (.cmp) --> Header, NumSuggestFields, EntryNumSuggestFields, Footer
- Header -->
CodecHeader
- NumSuggestFields -->
Uint32
- Entry --> FieldNumber, CompletionDictionaryOffset, MinWeight, MaxWeight, Type
- FieldNumber -->
Uint32
- CompletionDictionaryOffset -->
Uint64
- MinWeight -->
Uint64
- MaxWeight -->
Uint64
- Type -->
Byte
- Footer -->
CodecFooter
Notes:
- Header is a
CodecHeader
storing the version information for the Completion implementation. - NumSuggestFields is the number of suggest fields indexed
- FieldNumber is the fields number from
FieldInfos
. (.fnm) - CompletionDictionaryOffset is the file offset of a field's FST in CompletionDictionary (.lkp)
- MinWeight and MaxWeight are the global minimum and maximum weight for the field
- Type indicates if the suggester has context or not
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
An enum that allows to control if suggester FSTs are loaded into memory or read off-heap -
Field Summary
Fields inherited from class org.apache.lucene.codecs.PostingsFormat
EMPTY
-
Constructor Summary
ConstructorDescriptionUsed only by core Lucene at read-time via Service Provider instantiationCompletionPostingsFormat
(String name, CompletionPostingsFormat.FSTLoadMode fstLoadMode) Creates aCompletionPostingsFormat
that will use the providedfstLoadMode
to determine if the completion FST should be loaded on or off heap. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract PostingsFormat
Concrete implementation should specify the delegating postings formatfieldsConsumer
(SegmentWriteState state) fieldsProducer
(SegmentReadState state) Methods inherited from class org.apache.lucene.codecs.PostingsFormat
availablePostingsFormats, forName, getName, reloadPostingsFormats, toString
-
Constructor Details
-
CompletionPostingsFormat
Used only by core Lucene at read-time via Service Provider instantiation -
CompletionPostingsFormat
Creates aCompletionPostingsFormat
that will use the providedfstLoadMode
to determine if the completion FST should be loaded on or off heap.
-
-
Method Details
-
delegatePostingsFormat
Concrete implementation should specify the delegating postings format -
fieldsConsumer
- Specified by:
fieldsConsumer
in classPostingsFormat
- Throws:
IOException
-
fieldsProducer
- Specified by:
fieldsProducer
in classPostingsFormat
- Throws:
IOException
-