Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class PerFieldAnalyzerWrapper

    This analyzer is used to facilitate scenarios where different fields Require different analysis techniques. Use the Map argument in PerFieldAnalyzerWrapper(Analyzer, IDictionary<String, Analyzer>) to add non-default analyzers for fields.

    Example usage:

    IDictionary<string, Analyzer> analyzerPerField = new Dictionary<string, Analyzer>();
    analyzerPerField["firstname"] = new KeywordAnalyzer();
    analyzerPerField["lastname"] = new KeywordAnalyzer();
    
    PerFieldAnalyzerWrapper aWrapper =
      new PerFieldAnalyzerWrapper(new StandardAnalyzer(version), analyzerPerField);

    In this example, StandardAnalyzer will be used for all fields except "firstname" and "lastname", for which KeywordAnalyzer will be used.

    A PerFieldAnalyzerWrapper can be used like any other analyzer, for both indexing and query parsing.

    Inheritance
    System.Object
    Lucene.Net.Analysis.Analyzer
    Lucene.Net.Analysis.AnalyzerWrapper
    PerFieldAnalyzerWrapper
    Implements
    System.IDisposable
    Inherited Members
    AnalyzerWrapper.WrapComponents(String, TokenStreamComponents)
    AnalyzerWrapper.WrapReader(String, TextReader)
    AnalyzerWrapper.CreateComponents(String, TextReader)
    AnalyzerWrapper.GetPositionIncrementGap(String)
    AnalyzerWrapper.GetOffsetGap(String)
    AnalyzerWrapper.InitReader(String, TextReader)
    Analyzer.NewAnonymous(Func<String, TextReader, TokenStreamComponents>)
    Analyzer.NewAnonymous(Func<String, TextReader, TokenStreamComponents>, ReuseStrategy)
    Analyzer.NewAnonymous(Func<String, TextReader, TokenStreamComponents>, Func<String, TextReader, TextReader>)
    Analyzer.NewAnonymous(Func<String, TextReader, TokenStreamComponents>, Func<String, TextReader, TextReader>, ReuseStrategy)
    Analyzer.GetTokenStream(String, TextReader)
    Analyzer.GetTokenStream(String, String)
    Lucene.Net.Analysis.Analyzer.Strategy
    Lucene.Net.Analysis.Analyzer.Dispose()
    Analyzer.Dispose(Boolean)
    Lucene.Net.Analysis.Analyzer.GLOBAL_REUSE_STRATEGY
    Lucene.Net.Analysis.Analyzer.PER_FIELD_REUSE_STRATEGY
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    Namespace: Lucene.Net.Analysis.Miscellaneous
    Assembly: Lucene.Net.Analysis.Common.dll
    Syntax
    public sealed class PerFieldAnalyzerWrapper : AnalyzerWrapper, IDisposable

    Constructors

    | Improve this Doc View Source

    PerFieldAnalyzerWrapper(Analyzer)

    Constructs with default analyzer.

    Declaration
    public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
    Parameters
    Type Name Description
    Lucene.Net.Analysis.Analyzer defaultAnalyzer

    Any fields not specifically defined to use a different analyzer will use the one provided here.

    | Improve this Doc View Source

    PerFieldAnalyzerWrapper(Analyzer, IDictionary<String, Analyzer>)

    Constructs with default analyzer and a map of analyzers to use for specific fields.

    The type of System.Collections.Generic.IDictionary<TKey, TValue> supplied will determine the type of behavior.

    System.Collections.Generic.Dictionary`2General use. null keys are not supported.
    System.Collections.Generic.SortedDictionary`2Use when sorted keys are required. null keys are not supported.
    J2N.Collections.Generic.Dictionary`2Similar behavior as System.Collections.Generic.Dictionary`2. null keys are supported.
    J2N.Collections.Generic.SortedDictionary`2Use when sorted keys are required. null keys are supported.
    J2N.Collections.Generic.LinkedDictionary`2Use when insertion order must be preserved (System.Collections.Generic.Dictionary`2 preserves insertion order only until items are removed). null keys are supported.
    Or, use a 3rd party or custom System.Collections.Generic.IDictionary<TKey, TValue> if other behavior is desired.

    Declaration
    public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer, IDictionary<string, Analyzer> fieldAnalyzers)
    Parameters
    Type Name Description
    Lucene.Net.Analysis.Analyzer defaultAnalyzer

    Any fields not specifically defined to use a different analyzer will use the one provided here.

    System.Collections.Generic.IDictionary<System.String, Lucene.Net.Analysis.Analyzer> fieldAnalyzers

    A System.Collections.Generic.IDictionary<TKey, TValue> (String field name to the Analyzer) to be used for those fields.

    Methods

    | Improve this Doc View Source

    GetWrappedAnalyzer(String)

    Declaration
    protected override Analyzer GetWrappedAnalyzer(string fieldName)
    Parameters
    Type Name Description
    System.String fieldName
    Returns
    Type Description
    Lucene.Net.Analysis.Analyzer
    Overrides
    AnalyzerWrapper.GetWrappedAnalyzer(String)
    | Improve this Doc View Source

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String
    Overrides
    System.Object.ToString()

    Implements

    System.IDisposable
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 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.