This analyzer is used to facilitate scenarios where different fields require different analysis techniques. Use addAnalyzer to add a non-default analyzer on a field name basis.
More...
#include <PerFieldAnalyzerWrapper.h>
Detailed Description
This analyzer is used to facilitate scenarios where different fields require different analysis techniques. Use addAnalyzer to add a non-default analyzer on a field name basis.
Example usage:
PerFieldAnalyzerWrapperPtr aWrapper = newLucene<PerFieldAnalyzerWrapper>(newLucene<StandardAnalyzer>());
aWrapper->addAnalyzer(L"firstname", newLucene<KeywordAnalyzer>());
aWrapper->addAnalyzer(L"lastname", newLucene<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 & Destructor Documentation
Lucene::PerFieldAnalyzerWrapper::PerFieldAnalyzerWrapper |
( |
const AnalyzerPtr & |
defaultAnalyzer | ) |
|
Constructs with default analyzer.
- Parameters
-
defaultAnalyzer | Any fields not specifically defined to use a different analyzer will use the one provided here. |
Lucene::PerFieldAnalyzerWrapper::PerFieldAnalyzerWrapper |
( |
const AnalyzerPtr & |
defaultAnalyzer, |
|
|
MapStringAnalyzer |
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 |
virtual Lucene::PerFieldAnalyzerWrapper::~PerFieldAnalyzerWrapper |
( |
| ) |
|
|
virtual |
Member Function Documentation
static String Lucene::PerFieldAnalyzerWrapper::_getClassName |
( |
| ) |
|
|
inlinestatic |
void Lucene::PerFieldAnalyzerWrapper::addAnalyzer |
( |
const String & |
fieldName, |
|
|
const AnalyzerPtr & |
analyzer |
|
) |
| |
Defines an analyzer to use for the specified field.
- Parameters
-
fieldName | field name requiring a non-default analyzer |
analyzer | non-default analyzer to use for field |
virtual String Lucene::PerFieldAnalyzerWrapper::getClassName |
( |
| ) |
|
|
inlinevirtual |
virtual int32_t Lucene::PerFieldAnalyzerWrapper::getOffsetGap |
( |
const FieldablePtr & |
field | ) |
|
|
virtual |
Return the offsetGap from the analyzer assigned to field.
Reimplemented from Lucene::Analyzer.
virtual int32_t Lucene::PerFieldAnalyzerWrapper::getPositionIncrementGap |
( |
const String & |
fieldName | ) |
|
|
virtual |
Return the positionIncrementGap from the analyzer assigned to fieldName.
Reimplemented from Lucene::Analyzer.
virtual TokenStreamPtr Lucene::PerFieldAnalyzerWrapper::reusableTokenStream |
( |
const String & |
fieldName, |
|
|
const ReaderPtr & |
reader |
|
) |
| |
|
virtual |
Creates a TokenStream that is allowed to be re-used from the previous time that the same thread called this method. Callers that do not need to use more than one TokenStream at the same time from this analyzer should use this method for better performance.
Reimplemented from Lucene::Analyzer.
virtual TokenStreamPtr Lucene::PerFieldAnalyzerWrapper::tokenStream |
( |
const String & |
fieldName, |
|
|
const ReaderPtr & |
reader |
|
) |
| |
|
virtual |
Creates a TokenStream which tokenizes all the text in the provided Reader. Must be able to handle null field name for backward compatibility.
Implements Lucene::Analyzer.
virtual String Lucene::PerFieldAnalyzerWrapper::toString |
( |
| ) |
|
|
virtual |
Field Documentation
MapStringAnalyzer Lucene::PerFieldAnalyzerWrapper::analyzerMap |
|
protected |
AnalyzerPtr Lucene::PerFieldAnalyzerWrapper::defaultAnalyzer |
|
protected |
The documentation for this class was generated from the following file: