Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class EdgeNGramTokenFilter

    Tokenizes the given token into n-grams of given size(s).

    This Lucene.Net.Analysis.TokenFilter create n-grams from the beginning edge or ending edge of a input token.

    As of Lucene 4.4, this filter does not support BACK (you can use ReverseStringFilter up-front and afterward to get the same behavior), handles supplementary characters correctly and does not update offsets anymore.

    Inheritance
    object
    AttributeSource
    TokenStream
    TokenFilter
    EdgeNGramTokenFilter
    Implements
    IDisposable
    Inherited Members
    TokenFilter.End()
    TokenStream.Dispose()
    AttributeSource.GetAttributeFactory()
    AttributeSource.GetAttributeClassesEnumerator()
    AttributeSource.GetAttributeImplsEnumerator()
    AttributeSource.AddAttributeImpl(Attribute)
    AttributeSource.AddAttribute<T>()
    AttributeSource.HasAttributes
    AttributeSource.HasAttribute<T>()
    AttributeSource.GetAttribute<T>()
    AttributeSource.ClearAttributes()
    AttributeSource.CaptureState()
    AttributeSource.RestoreState(AttributeSource.State)
    AttributeSource.GetHashCode()
    AttributeSource.Equals(object)
    AttributeSource.ReflectAsString(bool)
    AttributeSource.ReflectWith(IAttributeReflector)
    AttributeSource.CloneAttributes()
    AttributeSource.CopyTo(AttributeSource)
    AttributeSource.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Lucene.Net.Analysis.NGram
    Assembly: Lucene.Net.Analysis.Common.dll
    Syntax
    public sealed class EdgeNGramTokenFilter : TokenFilter, IDisposable

    Constructors

    EdgeNGramTokenFilter(LuceneVersion, TokenStream, Side, int, int)

    Creates EdgeNGramTokenFilter that can generate n-grams in the sizes of the given range

    Declaration
    [Obsolete]
    public EdgeNGramTokenFilter(LuceneVersion version, TokenStream input, EdgeNGramTokenFilter.Side side, int minGram, int maxGram)
    Parameters
    Type Name Description
    LuceneVersion version

    the Lucene match version - See Lucene.Net.Util.LuceneVersion

    TokenStream input

    Lucene.Net.Analysis.TokenStream holding the input to be tokenized

    EdgeNGramTokenFilter.Side side

    the EdgeNGramTokenFilter.Side from which to chop off an n-gram

    int minGram

    the smallest n-gram to generate

    int maxGram

    the largest n-gram to generate

    EdgeNGramTokenFilter(LuceneVersion, TokenStream, int, int)

    Creates EdgeNGramTokenFilter that can generate n-grams in the sizes of the given range

    Declaration
    public EdgeNGramTokenFilter(LuceneVersion version, TokenStream input, int minGram, int maxGram)
    Parameters
    Type Name Description
    LuceneVersion version

    the Lucene match version - See Lucene.Net.Util.LuceneVersion

    TokenStream input

    Lucene.Net.Analysis.TokenStream holding the input to be tokenized

    int minGram

    the smallest n-gram to generate

    int maxGram

    the largest n-gram to generate

    EdgeNGramTokenFilter(LuceneVersion, TokenStream, string, int, int)

    Creates EdgeNGramTokenFilter that can generate n-grams in the sizes of the given range

    Declaration
    [Obsolete]
    public EdgeNGramTokenFilter(LuceneVersion version, TokenStream input, string sideLabel, int minGram, int maxGram)
    Parameters
    Type Name Description
    LuceneVersion version

    the Lucene match version - See Lucene.Net.Util.LuceneVersion

    TokenStream input

    Lucene.Net.Analysis.TokenStream holding the input to be tokenized

    string sideLabel

    the name of the EdgeNGramTokenFilter.Side from which to chop off an n-gram

    int minGram

    the smallest n-gram to generate

    int maxGram

    the largest n-gram to generate

    Fields

    DEFAULT_MAX_GRAM_SIZE

    Tokenizes the given token into n-grams of given size(s).

    This Lucene.Net.Analysis.TokenFilter create n-grams from the beginning edge or ending edge of a input token.

    As of Lucene 4.4, this filter does not support BACK (you can use ReverseStringFilter up-front and afterward to get the same behavior), handles supplementary characters correctly and does not update offsets anymore.

    Declaration
    public const int DEFAULT_MAX_GRAM_SIZE = 1
    Field Value
    Type Description
    int

    DEFAULT_MIN_GRAM_SIZE

    Tokenizes the given token into n-grams of given size(s).

    This Lucene.Net.Analysis.TokenFilter create n-grams from the beginning edge or ending edge of a input token.

    As of Lucene 4.4, this filter does not support BACK (you can use ReverseStringFilter up-front and afterward to get the same behavior), handles supplementary characters correctly and does not update offsets anymore.

    Declaration
    public const int DEFAULT_MIN_GRAM_SIZE = 1
    Field Value
    Type Description
    int

    DEFAULT_SIDE

    Tokenizes the given token into n-grams of given size(s).

    This Lucene.Net.Analysis.TokenFilter create n-grams from the beginning edge or ending edge of a input token.

    As of Lucene 4.4, this filter does not support BACK (you can use ReverseStringFilter up-front and afterward to get the same behavior), handles supplementary characters correctly and does not update offsets anymore.

    Declaration
    public const EdgeNGramTokenFilter.Side DEFAULT_SIDE = FRONT
    Field Value
    Type Description
    EdgeNGramTokenFilter.Side

    Methods

    GetSide(string)

    Get the appropriate EdgeNGramTokenFilter.Side from a string

    Declaration
    public static EdgeNGramTokenFilter.Side GetSide(string sideName)
    Parameters
    Type Name Description
    string sideName
    Returns
    Type Description
    EdgeNGramTokenFilter.Side

    IncrementToken()

    Consumers (i.e., Lucene.Net.Index.IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Lucene.Net.Util.IAttributes with the attributes of the next token.

    The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use Lucene.Net.Util.AttributeSource.CaptureState() to create a copy of the current attribute state.

    this method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to Lucene.Net.Util.AttributeSource.AddAttribute<T>() and Lucene.Net.Util.AttributeSource.GetAttribute<T>(), references to all Lucene.Net.Util.IAttributes that this stream uses should be retrieved during instantiation.

    To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in Lucene.Net.Analysis.TokenStream.IncrementToken().
    Declaration
    public override sealed bool IncrementToken()
    Returns
    Type Description
    bool

    false for end of stream; true otherwise

    Overrides
    Lucene.Net.Analysis.TokenStream.IncrementToken()

    Reset()

    This method is called by a consumer before it begins consumption using Lucene.Net.Analysis.TokenStream.IncrementToken().

    Resets this stream to a clean state. Stateful implementations must implement this method so that they can be reused, just as if they had been created fresh.

    If you override this method, always call base.Reset(), otherwise some internal state will not be correctly reset (e.g., Lucene.Net.Analysis.Tokenizer will throw InvalidOperationException on further usage).
    Declaration
    public override void Reset()
    Overrides
    Lucene.Net.Analysis.TokenFilter.Reset()
    Remarks

    NOTE: The default implementation chains the call to the input Lucene.Net.Analysis.TokenStream, so be sure to call base.Reset() when overriding this method.

    Implements

    IDisposable
    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.