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(java.lang.String fieldName,
Analyzer analyzer)
Defines an analyzer to use for the specified field.
|
int |
getPositionIncrementGap(java.lang.String fieldName)
Return the positionIncrementGap from the analyzer assigned to fieldName
|
TokenStream |
reusableTokenStream(java.lang.String fieldName,
java.io.Reader reader)
Creates a TokenStream that is allowed to be re-used
from the previous time that the same thread called
this method.
|
TokenStream |
tokenStream(java.lang.String fieldName,
java.io.Reader reader)
Creates a TokenStream which tokenizes all the text in the provided
Reader.
|
java.lang.String |
toString() |
close, getPreviousTokenStream, setPreviousTokenStream
public PerFieldAnalyzerWrapper(Analyzer defaultAnalyzer)
defaultAnalyzer
- Any fields not specifically
defined to use a different analyzer will use the one provided here.public void addAnalyzer(java.lang.String fieldName, Analyzer analyzer)
fieldName
- field name requiring a non-default analyzeranalyzer
- non-default analyzer to use for fieldpublic TokenStream tokenStream(java.lang.String fieldName, java.io.Reader reader)
Analyzer
tokenStream
in class Analyzer
public TokenStream reusableTokenStream(java.lang.String fieldName, java.io.Reader reader) throws java.io.IOException
Analyzer
reusableTokenStream
in class Analyzer
java.io.IOException
public int getPositionIncrementGap(java.lang.String fieldName)
getPositionIncrementGap
in class Analyzer
fieldName
- Fieldable name being indexed.Analyzer.tokenStream(String,Reader)
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.