Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class PerFieldPostingsFormat

    Enables per field postings support.

    Note, when extending this class, the name (Name) is written into the index. In order for the field to be read, the name must resolve to your implementation via ForName(string). This method uses GetPostingsFormat(string) to resolve format names. See DefaultPostingsFormatFactory for information about how to implement your own PostingsFormat.

    Files written by each posting format have an additional suffix containing the format name. For example, in a per-field configuration instead of _1.prx filenames would look like _1_Lucene40_0.prx.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    Inheritance
    object
    PostingsFormat
    PerFieldPostingsFormat
    Inherited Members
    PostingsFormat.EMPTY
    PostingsFormat.SetPostingsFormatFactory(IPostingsFormatFactory)
    PostingsFormat.GetPostingsFormatFactory()
    PostingsFormat.Name
    PostingsFormat.ToString()
    PostingsFormat.ForName(string)
    PostingsFormat.AvailablePostingsFormats
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Lucene.Net.Codecs.PerField
    Assembly: Lucene.Net.dll
    Syntax
    [PostingsFormatName("PerField40")]
    public abstract class PerFieldPostingsFormat : PostingsFormat

    Constructors

    PerFieldPostingsFormat()

    Sole constructor.

    Declaration
    protected PerFieldPostingsFormat()
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    Fields

    PER_FIELD_FORMAT_KEY

    FieldInfo attribute name used to store the format name for each field.

    Declaration
    public static readonly string PER_FIELD_FORMAT_KEY
    Field Value
    Type Description
    string
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    PER_FIELD_SUFFIX_KEY

    FieldInfo attribute name used to store the segment suffix name for each field.

    Declaration
    public static readonly string PER_FIELD_SUFFIX_KEY
    Field Value
    Type Description
    string
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    Methods

    FieldsConsumer(SegmentWriteState)

    Writes a new segment.

    Declaration
    public override sealed FieldsConsumer FieldsConsumer(SegmentWriteState state)
    Parameters
    Type Name Description
    SegmentWriteState state
    Returns
    Type Description
    FieldsConsumer
    Overrides
    PostingsFormat.FieldsConsumer(SegmentWriteState)
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    FieldsProducer(SegmentReadState)

    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.

    Declaration
    public override sealed FieldsProducer FieldsProducer(SegmentReadState state)
    Parameters
    Type Name Description
    SegmentReadState state
    Returns
    Type Description
    FieldsProducer
    Overrides
    PostingsFormat.FieldsProducer(SegmentReadState)
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    GetPostingsFormatForField(string)

    Returns the postings format that should be used for writing new segments of field.

    The field to format mapping is written to the index, so this method is only invoked when writing, not when reading.
    Declaration
    public abstract PostingsFormat GetPostingsFormatForField(string field)
    Parameters
    Type Name Description
    string field
    Returns
    Type Description
    PostingsFormat
    See Also
    IPostingsFormatFactory
    DefaultPostingsFormatFactory

    See Also

    IPostingsFormatFactory
    DefaultPostingsFormatFactory
    Back to top Copyright © 2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.