Class CustomAnalyzer.Builder
- java.lang.Object
-
- org.apache.lucene.analysis.custom.CustomAnalyzer.Builder
-
- Enclosing class:
- CustomAnalyzer
public static final class CustomAnalyzer.Builder extends Object
Builder forCustomAnalyzer
.
-
-
Method Summary
-
-
-
Method Detail
-
withDefaultMatchVersion
public CustomAnalyzer.Builder withDefaultMatchVersion(Version version)
This match version is passed as default to all tokenizers or filters. It is used unless you pass the parameter {code luceneMatchVersion} explicitly. It defaults to undefined, so the underlying factory will (in most cases) useVersion.LATEST
.
-
withPositionIncrementGap
public CustomAnalyzer.Builder withPositionIncrementGap(int posIncGap)
Sets the position increment gap of the analyzer. The default is defined in the analyzer base class.- See Also:
Analyzer.getPositionIncrementGap(String)
-
withOffsetGap
public CustomAnalyzer.Builder withOffsetGap(int offsetGap)
Sets the offset gap of the analyzer. The default is defined in the analyzer base class.- See Also:
Analyzer.getOffsetGap(String)
-
withTokenizer
public CustomAnalyzer.Builder withTokenizer(Class<? extends TokenizerFactory> factory, String... params) throws IOException
Uses the given tokenizer.- Parameters:
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.- Throws:
IOException
-
withTokenizer
public CustomAnalyzer.Builder withTokenizer(Class<? extends TokenizerFactory> factory, Map<String,String> params) throws IOException
Uses the given tokenizer.- Parameters:
factory
- class that is used to create the tokenizer.params
- the map of parameters to be passed to factory. The map must be modifiable.- Throws:
IOException
-
withTokenizer
public CustomAnalyzer.Builder withTokenizer(String name, String... params) throws IOException
Uses the given tokenizer.- Parameters:
name
- is used to look up the factory withTokenizerFactory.forName(String, Map)
. The list of possible names can be looked up withTokenizerFactory.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.- Throws:
IOException
-
withTokenizer
public CustomAnalyzer.Builder withTokenizer(String name, Map<String,String> params) throws IOException
Uses the given tokenizer.- Parameters:
name
- is used to look up the factory withTokenizerFactory.forName(String, Map)
. The list of possible names can be looked up withTokenizerFactory.availableTokenizers()
.params
- the map of parameters to be passed to factory. The map must be modifiable.- Throws:
IOException
-
addTokenFilter
public CustomAnalyzer.Builder addTokenFilter(Class<? extends TokenFilterFactory> factory, String... params) throws IOException
Adds the given token filter.- Parameters:
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.- Throws:
IOException
-
addTokenFilter
public CustomAnalyzer.Builder addTokenFilter(Class<? extends TokenFilterFactory> factory, Map<String,String> params) throws IOException
Adds the given token filter.- Parameters:
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.- Throws:
IOException
-
addTokenFilter
public CustomAnalyzer.Builder addTokenFilter(String name, String... params) throws IOException
Adds the given token filter.- Parameters:
name
- is used to look up the factory withTokenFilterFactory.forName(String, Map)
. The list of possible names can be looked up withTokenFilterFactory.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.- Throws:
IOException
-
addTokenFilter
public CustomAnalyzer.Builder addTokenFilter(String name, Map<String,String> params) throws IOException
Adds the given token filter.- Parameters:
name
- is used to look up the factory withTokenFilterFactory.forName(String, Map)
. The list of possible names can be looked up withTokenFilterFactory.availableTokenFilters()
.params
- the map of parameters to be passed to factory. The map must be modifiable.- Throws:
IOException
-
addCharFilter
public CustomAnalyzer.Builder addCharFilter(Class<? extends CharFilterFactory> factory, String... params) throws IOException
Adds the given char filter.- Parameters:
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.- Throws:
IOException
-
addCharFilter
public CustomAnalyzer.Builder addCharFilter(Class<? extends CharFilterFactory> factory, Map<String,String> params) throws IOException
Adds the given char filter.- Parameters:
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.- Throws:
IOException
-
addCharFilter
public CustomAnalyzer.Builder addCharFilter(String name, String... params) throws IOException
Adds the given char filter.- Parameters:
name
- is used to look up the factory withCharFilterFactory.forName(String, Map)
. The list of possible names can be looked up withCharFilterFactory.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.- Throws:
IOException
-
addCharFilter
public CustomAnalyzer.Builder addCharFilter(String name, Map<String,String> params) throws IOException
Adds the given char filter.- Parameters:
name
- is used to look up the factory withCharFilterFactory.forName(String, Map)
. The list of possible names can be looked up withCharFilterFactory.availableCharFilters()
.params
- the map of parameters to be passed to factory. The map must be modifiable.- Throws:
IOException
-
when
public CustomAnalyzer.ConditionBuilder when(String name, String... params) throws IOException
Add aConditionalTokenFilterFactory
to the analysis chainTokenFilters added by subsequent calls to
CustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition. Consumers must callCustomAnalyzer.ConditionBuilder.endwhen()
to return to the normal tokenfilter chain once conditional filters have been added- Parameters:
name
- is used to look up the factory withTokenFilterFactory.forName(String, Map)
params
- the parameters to be passed to the factory- Throws:
IOException
-
when
public CustomAnalyzer.ConditionBuilder when(String name, Map<String,String> params) throws IOException
Add aConditionalTokenFilterFactory
to the analysis chainTokenFilters added by subsequent calls to
CustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition. Consumers must callCustomAnalyzer.ConditionBuilder.endwhen()
to return to the normal tokenfilter chain once conditional filters have been added- Parameters:
name
- is used to look up the factory withTokenFilterFactory.forName(String, Map)
params
- the parameters to be passed to the factory. The map must be modifiable- Throws:
IOException
-
when
public CustomAnalyzer.ConditionBuilder when(Class<? extends ConditionalTokenFilterFactory> factory, String... params) throws IOException
Add aConditionalTokenFilterFactory
to the analysis chainTokenFilters added by subsequent calls to
CustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition. Consumers must callCustomAnalyzer.ConditionBuilder.endwhen()
to return to the normal tokenfilter chain once conditional filters have been added- Parameters:
factory
- class that is used to create the ConditionalTokenFilterparams
- the parameters to be passed to the factory- Throws:
IOException
-
when
public CustomAnalyzer.ConditionBuilder when(Class<? extends ConditionalTokenFilterFactory> factory, Map<String,String> params) throws IOException
Add aConditionalTokenFilterFactory
to the analysis chainTokenFilters added by subsequent calls to
CustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition. Consumers must callCustomAnalyzer.ConditionBuilder.endwhen()
to return to the normal tokenfilter chain once conditional filters have been added- Parameters:
factory
- class that is used to create the ConditionalTokenFilterparams
- the parameters to be passed to the factory. The map must be modifiable- Throws:
IOException
-
when
public CustomAnalyzer.ConditionBuilder when(ConditionalTokenFilterFactory factory)
Add aConditionalTokenFilterFactory
to the analysis chainTokenFilters added by subsequent calls to
CustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition. Consumers must callCustomAnalyzer.ConditionBuilder.endwhen()
to return to the normal tokenfilter chain once conditional filters have been added
-
whenTerm
public CustomAnalyzer.ConditionBuilder whenTerm(Predicate<CharSequence> predicate)
Apply subsequent token filters if the current token's term matches a predicateThis is the equivalent of:
when(new ConditionalTokenFilterFactory(Collections.emptyMap()) {
@
Override protected ConditionalTokenFilter create(TokenStream input, Function<TokenStream, TokenStream> inner) { return new ConditionalTokenFilter(input, inner) { CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);@
Override protected boolean shouldFilter() { return predicate.test(termAtt); } }; } });
-
build
public CustomAnalyzer build()
Builds the analyzer.
-
-