public class ProtectedTermFilterFactory extends ConditionalTokenFilterFactory implements ResourceLoaderAware
ProtectedTermFilter
 CustomAnalyzer example:
 Analyzer ana = CustomAnalyzer.builder()
   .withTokenizer("standard")
   .when("protectedterm", "ignoreCase", "true", "protected", "protectedTerms.txt")
     .addTokenFilter("truncate", "prefixLength", "4")
     .addTokenFilter("lowercase")
   .endwhen()
   .build();
 
 Solr example, in which conditional filters are specified via the wrappedFilters
 parameter - a comma-separated list of case-insensitive TokenFilter SPI names - and conditional
 filter args are specified via filterName.argName parameters:
 
 <fieldType name="reverse_lower_with_exceptions" class="solr.TextField" positionIncrementGap="100">
   <analyzer>
     <tokenizer class="solr.WhitespaceTokenizerFactory"/>
     <filter class="solr.ProtectedTermFilterFactory" ignoreCase="true" protected="protectedTerms.txt"
             wrappedFilters="truncate,lowercase" truncate.prefixLength="4" />
   </analyzer>
 </fieldType>
 When using the wrappedFilters parameter, each filter name must be unique, so if you
 need to specify the same filter more than once, you must add case-insensitive unique '-id' suffixes
 (note that the '-id' suffix is stripped prior to SPI lookup), e.g.:
 
 <fieldType name="double_synonym_with_exceptions" class="solr.TextField" positionIncrementGap="100">
   <analyzer>
     <tokenizer class="solr.WhitespaceTokenizerFactory"/>
     <filter class="solr.ProtectedTermFilterFactory" ignoreCase="true" protected="protectedTerms.txt"
             wrappedFilters="synonymgraph-A,synonymgraph-B"
             synonymgraph-A.synonyms="synonyms-1.txt"
             synonymgraph-B.synonyms="synonyms-2.txt"/>
   </analyzer>
 </fieldType>
 See related CustomAnalyzer.Builder.whenTerm(Predicate)
| Modifier and Type | Field and Description | 
|---|---|
| static char | FILTER_ARG_SEPARATOR | 
| static char | FILTER_NAME_ID_SEPARATOR | 
| static String | PROTECTED_TERMS | 
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion| Constructor and Description | 
|---|
| ProtectedTermFilterFactory(Map<String,String> args) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected ConditionalTokenFilter | create(TokenStream input,
      Function<TokenStream,TokenStream> inner)Modify the incoming  TokenStreamwith aConditionalTokenFilter | 
| void | doInform(ResourceLoader loader)Initialises this component with the corresponding  ResourceLoader | 
| CharArraySet | getProtectedTerms() | 
| boolean | isIgnoreCase() | 
create, inform, setInnerFiltersavailableTokenFilters, forName, lookupClass, normalize, reloadTokenFiltersget, get, get, get, get, getBoolean, getChar, getClassArg, getFloat, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSet, getSnowballWordSet, getWordSet, isExplicitLuceneMatchVersion, require, require, require, requireBoolean, requireChar, requireFloat, requireInt, setExplicitLuceneMatchVersion, splitAt, splitFileNamesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinformpublic static final String PROTECTED_TERMS
public static final char FILTER_ARG_SEPARATOR
public static final char FILTER_NAME_ID_SEPARATOR
public boolean isIgnoreCase()
public CharArraySet getProtectedTerms()
protected ConditionalTokenFilter create(TokenStream input, Function<TokenStream,TokenStream> inner)
ConditionalTokenFilterFactoryTokenStream with a ConditionalTokenFiltercreate in class ConditionalTokenFilterFactorypublic void doInform(ResourceLoader loader) throws IOException
ConditionalTokenFilterFactoryResourceLoaderdoInform in class ConditionalTokenFilterFactoryIOExceptionCopyright © 2000-2019 Apache Software Foundation. All Rights Reserved.