org.apache.lucene.analysis.synonym

## Class SynonymFilterFactory

- java.lang.Object
- - org.apache.lucene.analysis.util.AbstractAnalysisFactory
  - - org.apache.lucene.analysis.util.TokenFilterFactory
    - - org.apache.lucene.analysis.synonym.SynonymFilterFactory

All Implemented Interfaces:
  ResourceLoaderAware

Deprecated.
Use `SynonymGraphFilterFactory` instead, but be sure to also use `FlattenGraphFilterFactory` at index time (not at search time) as well.

    @Deprecated
    public class SynonymFilterFactory
    extends TokenFilterFactory
    implements ResourceLoaderAware

Factory for `SynonymFilter`.

     <fieldType name="text_synonym" class="solr.TextField" positionIncrementGap="100">
       <analyzer>
         <tokenizer class="solr.WhitespaceTokenizerFactory"/>
         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
                 format="solr" ignoreCase="false" expand="true"
                 tokenizerFactory="solr.WhitespaceTokenizerFactory"
                 [optional tokenizer factory parameters]/>
       </analyzer>
     </fieldType>

An optional param name prefix of "tokenizerFactory." may be used for any init params that the SynonymFilterFactory needs to pass to the specified TokenizerFactory. If the TokenizerFactory expects an init parameters with the same name as an init param used by the SynonymFilterFactory, the prefix is mandatory.

The optional `format` parameter controls how the synonyms will be parsed: It supports the short names of `solr` for `SolrSynonymParser` and `wordnet` for and `WordnetSynonymParser`, or your own `SynonymMap.Parser` class name. The default is `solr`. A custom `SynonymMap.Parser` is expected to have a constructor taking:

- `boolean dedup` - true if duplicates should be ignored, false otherwise
- `boolean expand` - true if conflation groups should be expanded, false if they are one-directional
- ``Analyzer` analyzer` - an analyzer used for each raw synonym

Since:
  3.1
See Also:
  `SolrSynonymParser: default format`
SPI Name (Note: This is case-insensitive. e.g., if the name is 'htmlStrip', 'htmlstrip' can be used when looking up the service):
  "synonym"

### Field Summary

Fields
`static String` `NAME` Deprecated. SPI name

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

`LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

### Constructor Summary

Constructors
Constructor and Description
`SynonymFilterFactory(Map<String,String> args)` Deprecated.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`TokenStream` `create(TokenStream input)` Deprecated. Transform the specified input TokenStream
`void` `inform(ResourceLoader loader)` Deprecated. Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).
`protected SynonymMap` `loadSynonyms(ResourceLoader loader, String cname, boolean dedup, Analyzer analyzer)` Deprecated. Load synonyms with the given `SynonymMap.Parser` class.

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

`availableTokenFilters, findSPIName, forName, lookupClass, normalize, reloadTokenFilters`

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

`get, 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, splitFileNames`

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

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

### Field Detail

#### NAME

    public static final String NAME

Deprecated.
SPI name

See Also:
  Constant Field Values

### Constructor Detail

#### SynonymFilterFactory

    public SynonymFilterFactory(Map<String,String> args)

Deprecated.

### Method Detail

#### create

    public TokenStream create(TokenStream input)

Deprecated.
Description copied from class: `TokenFilterFactory`
Transform the specified input TokenStream

Specified by:
  `create` in class `TokenFilterFactory`

#### inform

    public void inform(ResourceLoader loader)
                throws IOException

Deprecated.
Description copied from interface: `ResourceLoaderAware`
Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).

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

#### loadSynonyms

    protected SynonymMap loadSynonyms(ResourceLoader loader,
                                      String cname,
                                      boolean dedup,
                                      Analyzer analyzer)
                               throws IOException,
                                      ParseException

Deprecated.
Load synonyms with the given `SynonymMap.Parser` class.

Throws:
  `IOException`
  `ParseException`