Class PerFieldAnalyzerWrapper
- java.lang.Object
-
- org.apache.lucene.analysis.Analyzer
-
- org.apache.lucene.analysis.AnalyzerWrapper
-
- org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class PerFieldAnalyzerWrapper extends AnalyzerWrapper
This analyzer is used to facilitate scenarios where different fields require different analysis techniques. Use the Map argument inPerFieldAnalyzerWrapper(Analyzer, java.util.Map)
to add non-default analyzers for fields.Example usage:
Map<String,Analyzer> analyzerPerField = new HashMap<String,Analyzer>(); analyzerPerField.put("firstname", new KeywordAnalyzer()); analyzerPerField.put("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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer
Analyzer.GlobalReuseStrategy, Analyzer.PerFieldReuseStrategy, Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.analysis.Analyzer
GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY
-
-
Constructor Summary
Constructors Constructor Description PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
Constructs with default analyzer.PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer, java.util.Map<java.lang.String,Analyzer> fieldAnalyzers)
Constructs with default analyzer and a map of analyzers to use for specific fields.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
toString()
-
Methods inherited from class org.apache.lucene.analysis.AnalyzerWrapper
getOffsetGap, getPositionIncrementGap, initReader
-
Methods inherited from class org.apache.lucene.analysis.Analyzer
close, getReuseStrategy, tokenStream, tokenStream
-
-
-
-
Constructor Detail
-
PerFieldAnalyzerWrapper
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
Constructs with default analyzer.- Parameters:
defaultAnalyzer
- Any fields not specifically defined to use a different analyzer will use the one provided here.
-
PerFieldAnalyzerWrapper
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer, java.util.Map<java.lang.String,Analyzer> fieldAnalyzers)
Constructs with default analyzer and a map of analyzers to use for specific fields.- Parameters:
defaultAnalyzer
- Any fields not specifically defined to use a different analyzer will use the one provided here.fieldAnalyzers
- a Map (String field name to the Analyzer) to be used for those fields
-
-