org.apache.lucene.collation

## Class ICUCollationKeyFilterFactory

- java.lang.Object
- - org.apache.lucene.analysis.util.AbstractAnalysisFactory
  - - org.apache.lucene.analysis.util.TokenFilterFactory
    - - org.apache.lucene.collation.ICUCollationKeyFilterFactory

All Implemented Interfaces:
  MultiTermAwareComponent, ResourceLoaderAware

Deprecated.
use `ICUCollationKeyAnalyzer` instead.

    @Deprecated
    public class ICUCollationKeyFilterFactory
    extends TokenFilterFactory
    implements MultiTermAwareComponent, ResourceLoaderAware

Factory for `ICUCollationKeyFilter`.

This factory can be created in two ways:

- Based upon a system collator associated with a Locale.
- Based upon a tailored ruleset.

Using a System collator:

- locale: RFC 3066 locale ID (mandatory)
- strength: 'primary','secondary','tertiary', 'quaternary', or 'identical' (optional)
- decomposition: 'no', or 'canonical' (optional)

Using a Tailored ruleset:

- custom: UTF-8 text file containing rules supported by RuleBasedCollator (mandatory)
- strength: 'primary','secondary','tertiary', 'quaternary', or 'identical' (optional)
- decomposition: 'no' or 'canonical' (optional)

Expert options:

- alternate: 'shifted' or 'non-ignorable'. Can be used to ignore punctuation/whitespace.
- caseLevel: 'true' or 'false'. Useful with strength=primary to ignore accents but not case.
- caseFirst: 'lower' or 'upper'. Useful to control which is sorted first when case is not ignored.
- numeric: 'true' or 'false'. Digits are sorted according to numeric value, e.g. foobar-9 sorts before foobar-10
- variableTop: single character or contraction. Controls what is variable for 'alternate'

See Also:
  `Collator`, `ULocale`, `RuleBasedCollator`

### Field Summary

### Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`args, luceneMatchVersion`

### Constructor Summary

Constructors
Constructor and Description
`ICUCollationKeyFilterFactory()` Deprecated.

### Method Summary

Methods
`TokenStream` `create(TokenStream input)` Deprecated.
`AbstractAnalysisFactory` `getMultiTermComponent()` Deprecated.
`void` `inform(ResourceLoader loader)` Deprecated.

### Methods inherited from class org.apache.lucene.analysis.util.TokenFilterFactory

`availableTokenFilters, forName, lookupClass, reloadTokenFilters`

### Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`assureMatchVersion, getArgs, getBoolean, getBoolean, getInt, getInt, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSnowballWordSet, getWordSet, init, setLuceneMatchVersion, splitFileNames`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ICUCollationKeyFilterFactory

    public ICUCollationKeyFilterFactory()

Deprecated.

### Method Detail

#### inform

    public void inform(ResourceLoader loader)
                throws IOException

Deprecated.

Specified by:
  `inform` in interface `ResourceLoaderAware`
Throws:
  `IOException`

#### create

    public TokenStream create(TokenStream input)

Deprecated.

Specified by:
  `create` in class `TokenFilterFactory`

#### getMultiTermComponent

    public AbstractAnalysisFactory getMultiTermComponent()

Deprecated.

Specified by:
  `getMultiTermComponent` in interface `MultiTermAwareComponent`