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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CustomAnalyzer.Builder
addCharFilter(Class<? extends CharFilterFactory> factory, String... params)
Adds the given char filter.CustomAnalyzer.Builder
addCharFilter(Class<? extends CharFilterFactory> factory, Map<String,String> params)
Adds the given char filter.CustomAnalyzer.Builder
addCharFilter(String name, String... params)
Adds the given char filter.CustomAnalyzer.Builder
addCharFilter(String name, Map<String,String> params)
Adds the given char filter.CustomAnalyzer.Builder
addTokenFilter(Class<? extends TokenFilterFactory> factory, String... params)
Adds the given token filter.CustomAnalyzer.Builder
addTokenFilter(Class<? extends TokenFilterFactory> factory, Map<String,String> params)
Adds the given token filter.CustomAnalyzer.Builder
addTokenFilter(String name, String... params)
Adds the given token filter.CustomAnalyzer.Builder
addTokenFilter(String name, Map<String,String> params)
Adds the given token filter.CustomAnalyzer
build()
Builds the analyzer.CustomAnalyzer.ConditionBuilder
when(Class<? extends ConditionalTokenFilterFactory> factory, String... params)
Add aConditionalTokenFilterFactory
to the analysis chain TokenFilters added by subsequent calls toCustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition.CustomAnalyzer.ConditionBuilder
when(Class<? extends ConditionalTokenFilterFactory> factory, Map<String,String> params)
Add aConditionalTokenFilterFactory
to the analysis chain TokenFilters added by subsequent calls toCustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition.CustomAnalyzer.ConditionBuilder
when(String name, String... params)
Add aConditionalTokenFilterFactory
to the analysis chain TokenFilters added by subsequent calls toCustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition.CustomAnalyzer.ConditionBuilder
when(String name, Map<String,String> params)
Add aConditionalTokenFilterFactory
to the analysis chain TokenFilters added by subsequent calls toCustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition.CustomAnalyzer.ConditionBuilder
when(ConditionalTokenFilterFactory factory)
Add aConditionalTokenFilterFactory
to the analysis chain TokenFilters added by subsequent calls toCustomAnalyzer.ConditionBuilder.addTokenFilter(String, String...)
and related functions will only be used if the current token matches the condition.CustomAnalyzer.ConditionBuilder
whenTerm(Predicate<CharSequence> predicate)
Apply subsequent token filters if the current token's term matches a predicate This is the equivalent of: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(Class<? extends TokenizerFactory> factory, String... params)
Uses the given tokenizer.CustomAnalyzer.Builder
withTokenizer(Class<? extends TokenizerFactory> factory, Map<String,String> params)
Uses the given tokenizer.CustomAnalyzer.Builder
withTokenizer(String name, String... params)
Uses the given tokenizer.CustomAnalyzer.Builder
withTokenizer(String name, Map<String,String> params)
Uses the given tokenizer.
-
-
-
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 chain TokenFilters added by subsequent calls toCustomAnalyzer.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 chain TokenFilters added by subsequent calls toCustomAnalyzer.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 chain TokenFilters added by subsequent calls toCustomAnalyzer.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 chain TokenFilters added by subsequent calls toCustomAnalyzer.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 chain TokenFilters added by subsequent calls toCustomAnalyzer.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 predicate This 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.
-
-