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.
Implements
Inherited Members
Namespace: Lucene.Net.Analysis.Miscellaneous
Assembly: Lucene.Net.Analysis.Common.dll
Syntax
public sealed class PerFieldAnalyzerWrapper : AnalyzerWrapper, IDisposable
  Constructors
PerFieldAnalyzerWrapper(Analyzer)
Constructs with default analyzer.
Declaration
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Analyzer | defaultAnalyzer | Any fields not specifically defined to use a different analyzer will use the one provided here.  | 
      
PerFieldAnalyzerWrapper(Analyzer, IDictionary<string, Analyzer>)
Constructs with default analyzer and a map of analyzers to use for specific fields.
The type of IDictionary<TKey, TValue> supplied will determine the type of behavior.| Dictionary<TKey, TValue> | General use. null keys are not supported. | 
| SortedDictionary<TKey, TValue> | Use when sorted keys are required. null keys are not supported. | 
| J2N.Collections.Generic.Dictionary<TKey, TValue> | Similar behavior as Dictionary<TKey, TValue>. null keys are supported. | 
| J2N.Collections.Generic.SortedDictionary<TKey, TValue> | Use when sorted keys are required. null keys are supported. | 
| J2N.Collections.Generic.LinkedDictionary<TKey, TValue> | Use when insertion order must be preserved (Dictionary<TKey, TValue> preserves insertion
            order only until items are removed). null keys are supported. | 
Declaration
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer, IDictionary<string, Analyzer> fieldAnalyzers)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Analyzer | defaultAnalyzer | Any fields not specifically defined to use a different analyzer will use the one provided here.  | 
      
| IDictionary<string, Analyzer> | fieldAnalyzers | A IDictionary<TKey, TValue> (String field name to the Analyzer) to be used for those fields.  | 
      
Methods
GetWrappedAnalyzer(string)
Retrieves the wrapped Lucene.Net.Analysis.Analyzer appropriate for analyzing the field with the given name
Declaration
protected override Analyzer GetWrappedAnalyzer(string fieldName)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | fieldName | Name of the field which is to be analyzed  | 
      
Returns
| Type | Description | 
|---|---|
| Analyzer | Lucene.Net.Analysis.Analyzer for the field with the given name. Assumed to be non-null  | 
      
Overrides
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
  Returns
| Type | Description | 
|---|---|
| string | A string that represents the current object.  |