Class CompletionAnalyzer
- java.lang.Object
-
- org.apache.lucene.analysis.Analyzer
-
- org.apache.lucene.analysis.AnalyzerWrapper
-
- org.apache.lucene.search.suggest.document.CompletionAnalyzer
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class CompletionAnalyzer extends AnalyzerWrapper
Wraps anAnalyzer
to provide additional completion-only tuning (e.g. preserving token separators, preserving position increments while converting a token stream to an automaton)Can be used to index
SuggestField
andContextSuggestField
and as a query analyzer toPrefixCompletionQuery
amdFuzzyCompletionQuery
NOTE: In most cases, index and query analyzer should have same values for
preservePositionIncrements()
andpreserveSep()
- Since:
- 5.1.0
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer
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 CompletionAnalyzer(Analyzer analyzer)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
preserving token separation, position increments and no limit on graph expansionsCompletionAnalyzer(Analyzer analyzer, boolean preserveSep, boolean preservePositionIncrements)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
with no limit on graph expansionsCompletionAnalyzer(Analyzer analyzer, boolean preserveSep, boolean preservePositionIncrements, int maxGraphExpansions)
Wraps an analyzer to convert its output token stream to an automatonCompletionAnalyzer(Analyzer analyzer, int maxGraphExpansions)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
preserving token separation and position increments
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Analyzer
getWrappedAnalyzer(String fieldName)
boolean
preservePositionIncrements()
Returns true if position increments are preserved when converting the token stream to an automatonboolean
preserveSep()
Returns true if separation between tokens are preserved when converting the token stream to an automatonprotected Analyzer.TokenStreamComponents
wrapComponents(String fieldName, Analyzer.TokenStreamComponents components)
-
Methods inherited from class org.apache.lucene.analysis.AnalyzerWrapper
attributeFactory, createComponents, getOffsetGap, getPositionIncrementGap, initReader, initReaderForNormalization, normalize, wrapReader, wrapReaderForNormalization, wrapTokenStreamForNormalization
-
Methods inherited from class org.apache.lucene.analysis.Analyzer
close, getReuseStrategy, normalize, tokenStream, tokenStream
-
-
-
-
Constructor Detail
-
CompletionAnalyzer
public CompletionAnalyzer(Analyzer analyzer, boolean preserveSep, boolean preservePositionIncrements, int maxGraphExpansions)
Wraps an analyzer to convert its output token stream to an automaton- Parameters:
analyzer
- token stream to be converted to an automatonpreserveSep
- Preserve separation between tokens when converting to an automatonpreservePositionIncrements
- Preserve position increments for tokens when converting to an automatonmaxGraphExpansions
- Sets the maximum number of graph expansions of a completion automaton
-
CompletionAnalyzer
public CompletionAnalyzer(Analyzer analyzer)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
preserving token separation, position increments and no limit on graph expansions
-
CompletionAnalyzer
public CompletionAnalyzer(Analyzer analyzer, boolean preserveSep, boolean preservePositionIncrements)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
with no limit on graph expansions
-
CompletionAnalyzer
public CompletionAnalyzer(Analyzer analyzer, int maxGraphExpansions)
CallsCompletionAnalyzer(org.apache.lucene.analysis.Analyzer, boolean, boolean, int)
preserving token separation and position increments
-
-
Method Detail
-
preserveSep
public boolean preserveSep()
Returns true if separation between tokens are preserved when converting the token stream to an automaton
-
preservePositionIncrements
public boolean preservePositionIncrements()
Returns true if position increments are preserved when converting the token stream to an automaton
-
getWrappedAnalyzer
protected Analyzer getWrappedAnalyzer(String fieldName)
- Specified by:
getWrappedAnalyzer
in classAnalyzerWrapper
-
wrapComponents
protected Analyzer.TokenStreamComponents wrapComponents(String fieldName, Analyzer.TokenStreamComponents components)
- Overrides:
wrapComponents
in classAnalyzerWrapper
-
-