Class CompletionPostingsFormat

  • All Implemented Interfaces:
    NamedSPILoader.NamedSPI
    Direct Known Subclasses:
    Completion50PostingsFormat, Completion84PostingsFormat, Completion90PostingsFormat

    public abstract class CompletionPostingsFormat
    extends PostingsFormat
    A PostingsFormat which supports document suggestion based on indexed SuggestFields. Document suggestion is based on an weighted FST which map analyzed terms of a SuggestField to its surface form and document id.

    Files:

    Completion Dictionary

    The .lkp file contains an FST for each suggest field

    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
    • Constructor Detail

      • CompletionPostingsFormat

        public CompletionPostingsFormat​(java.lang.String name)
        Used only by core Lucene at read-time via Service Provider instantiation
    • Method Detail

      • delegatePostingsFormat

        protected abstract PostingsFormat delegatePostingsFormat()
        Concrete implementation should specify the delegating postings format
      • fieldsProducer

        public FieldsProducer fieldsProducer​(SegmentReadState state)
                                      throws java.io.IOException
        Description copied from class: PostingsFormat
        Reads a segment. NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.
        Specified by:
        fieldsProducer in class PostingsFormat
        Throws:
        java.io.IOException