public static final class CustomAnalyzer.Builder
extends java.lang.Object
CustomAnalyzer
.Modifier and Type | Field and Description |
---|---|
private java.util.List<CharFilterFactory> |
charFilters |
private boolean |
componentsAdded |
private SetOnce<Version> |
defaultMatchVersion |
private ResourceLoader |
loader |
private SetOnce<java.lang.Integer> |
offsetGap |
private SetOnce<java.lang.Integer> |
posIncGap |
private java.util.List<TokenFilterFactory> |
tokenFilters |
private SetOnce<TokenizerFactory> |
tokenizer |
Constructor and Description |
---|
Builder(ResourceLoader loader) |
Modifier and Type | Method and Description |
---|---|
CustomAnalyzer.Builder |
addCharFilter(java.lang.Class<? extends CharFilterFactory> factory,
java.util.Map<java.lang.String,java.lang.String> params)
Adds the given char filter.
|
CustomAnalyzer.Builder |
addCharFilter(java.lang.Class<? extends CharFilterFactory> factory,
java.lang.String... params)
Adds the given char filter.
|
CustomAnalyzer.Builder |
addCharFilter(java.lang.String name,
java.util.Map<java.lang.String,java.lang.String> params)
Adds the given char filter.
|
CustomAnalyzer.Builder |
addCharFilter(java.lang.String name,
java.lang.String... params)
Adds the given char filter.
|
CustomAnalyzer.Builder |
addTokenFilter(java.lang.Class<? extends TokenFilterFactory> factory,
java.util.Map<java.lang.String,java.lang.String> params)
Adds the given token filter.
|
CustomAnalyzer.Builder |
addTokenFilter(java.lang.Class<? extends TokenFilterFactory> factory,
java.lang.String... params)
Adds the given token filter.
|
CustomAnalyzer.Builder |
addTokenFilter(java.lang.String name,
java.util.Map<java.lang.String,java.lang.String> params)
Adds the given token filter.
|
CustomAnalyzer.Builder |
addTokenFilter(java.lang.String name,
java.lang.String... params)
Adds the given token filter.
|
private java.util.Map<java.lang.String,java.lang.String> |
applyDefaultParams(java.util.Map<java.lang.String,java.lang.String> map) |
private <T> T |
applyResourceLoader(T factory) |
CustomAnalyzer |
build()
Builds the analyzer.
|
private java.util.Map<java.lang.String,java.lang.String> |
paramsToMap(java.lang.String... params) |
CustomAnalyzer.Builder |
withDefaultMatchVersion(Version version)
This match version is passed as default to all tokenizers or filters.
|
CustomAnalyzer.Builder |
withOffsetGap(int offsetGap)
Sets the offset gap of the analyzer.
|
CustomAnalyzer.Builder |
withPositionIncrementGap(int posIncGap)
Sets the position increment gap of the analyzer.
|
CustomAnalyzer.Builder |
withTokenizer(java.lang.Class<? extends TokenizerFactory> factory,
java.util.Map<java.lang.String,java.lang.String> params)
Uses the given tokenizer.
|
CustomAnalyzer.Builder |
withTokenizer(java.lang.Class<? extends TokenizerFactory> factory,
java.lang.String... params)
Uses the given tokenizer.
|
CustomAnalyzer.Builder |
withTokenizer(java.lang.String name,
java.util.Map<java.lang.String,java.lang.String> params)
Uses the given tokenizer.
|
CustomAnalyzer.Builder |
withTokenizer(java.lang.String name,
java.lang.String... params)
Uses the given tokenizer.
|
private final ResourceLoader loader
private final java.util.List<CharFilterFactory> charFilters
private final SetOnce<TokenizerFactory> tokenizer
private final java.util.List<TokenFilterFactory> tokenFilters
private final SetOnce<java.lang.Integer> posIncGap
private final SetOnce<java.lang.Integer> offsetGap
private boolean componentsAdded
Builder(ResourceLoader loader)
public CustomAnalyzer.Builder withDefaultMatchVersion(Version version)
Version.LATEST
.public CustomAnalyzer.Builder withPositionIncrementGap(int posIncGap)
Analyzer.getPositionIncrementGap(String)
public CustomAnalyzer.Builder withOffsetGap(int offsetGap)
Analyzer.getOffsetGap(String)
public CustomAnalyzer.Builder withTokenizer(java.lang.Class<? extends TokenizerFactory> factory, java.lang.String... params) throws java.io.IOException
factory
- class that is used to create the tokenizer.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder withTokenizer(java.lang.Class<? extends TokenizerFactory> factory, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
factory
- class that is used to create the tokenizer.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer.Builder withTokenizer(java.lang.String name, java.lang.String... params) throws java.io.IOException
name
- is used to look up the factory with TokenizerFactory.forName(String, Map)
.
The list of possible names can be looked up with TokenizerFactory.availableTokenizers()
.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder withTokenizer(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
name
- is used to look up the factory with TokenizerFactory.forName(String, Map)
.
The list of possible names can be looked up with TokenizerFactory.availableTokenizers()
.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer.Builder addTokenFilter(java.lang.Class<? extends TokenFilterFactory> factory, java.lang.String... params) throws java.io.IOException
factory
- class that is used to create the token filter.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder addTokenFilter(java.lang.Class<? extends TokenFilterFactory> factory, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
factory
- class that is used to create the token filter.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer.Builder addTokenFilter(java.lang.String name, java.lang.String... params) throws java.io.IOException
name
- is used to look up the factory with TokenFilterFactory.forName(String, Map)
.
The list of possible names can be looked up with TokenFilterFactory.availableTokenFilters()
.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder addTokenFilter(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
name
- is used to look up the factory with TokenFilterFactory.forName(String, Map)
.
The list of possible names can be looked up with TokenFilterFactory.availableTokenFilters()
.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer.Builder addCharFilter(java.lang.Class<? extends CharFilterFactory> factory, java.lang.String... params) throws java.io.IOException
factory
- class that is used to create the char filter.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder addCharFilter(java.lang.Class<? extends CharFilterFactory> factory, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
factory
- class that is used to create the char filter.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer.Builder addCharFilter(java.lang.String name, java.lang.String... params) throws java.io.IOException
name
- is used to look up the factory with CharFilterFactory.forName(String, Map)
.
The list of possible names can be looked up with CharFilterFactory.availableCharFilters()
.params
- a list of factory string params as key/value pairs.
The number of parameters must be an even number, as they are pairs.java.io.IOException
public CustomAnalyzer.Builder addCharFilter(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> params) throws java.io.IOException
name
- is used to look up the factory with CharFilterFactory.forName(String, Map)
.
The list of possible names can be looked up with CharFilterFactory.availableCharFilters()
.params
- the map of parameters to be passed to factory. The map must be modifiable.java.io.IOException
public CustomAnalyzer build()
private java.util.Map<java.lang.String,java.lang.String> applyDefaultParams(java.util.Map<java.lang.String,java.lang.String> map)
private java.util.Map<java.lang.String,java.lang.String> paramsToMap(java.lang.String... params)
private <T> T applyResourceLoader(T factory) throws java.io.IOException
java.io.IOException