public class PerFieldAnalyzerWrapper extends Analyzer
addAnalyzer(java.lang.String, org.apache.lucene.analysis.Analyzer)
to add a non-default analyzer on a field name basis.
Example usage:
PerFieldAnalyzerWrapper aWrapper = new PerFieldAnalyzerWrapper(new StandardAnalyzer()); aWrapper.addAnalyzer("firstname", new KeywordAnalyzer()); aWrapper.addAnalyzer("lastname", new KeywordAnalyzer());
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.
Constructor and Description |
---|
PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
Constructs with default analyzer.
|
Modifier and Type | Method and Description |
---|---|
void |
addAnalyzer(String fieldName,
Analyzer analyzer)
Defines an analyzer to use for the specified field.
|
TokenStream |
tokenStream(String fieldName,
Reader reader)
Creates a TokenStream which tokenizes all the text in the provided
Reader.
|
String |
toString() |
getPositionIncrementGap, tokenStream
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
defaultAnalyzer
- Any fields not specifically
defined to use a different analyzer will use the one provided here.public void addAnalyzer(String fieldName, Analyzer analyzer)
fieldName
- field name requiring a non-default analyzeranalyzer
- non-default analyzer to use for fieldpublic TokenStream tokenStream(String fieldName, Reader reader)
Analyzer
tokenStream
in class Analyzer
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.