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.StringtoString()-
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
-
-