Class SynonymFilterFactory

  • All Implemented Interfaces:
    ResourceLoaderAware

    @Deprecated
    public class SynonymFilterFactory
    extends TokenFilterFactory
    implements ResourceLoaderAware
    Deprecated.
    Use SynonymGraphFilterFactory instead, but be sure to also use FlattenGraphFilterFactory at index time (not at search time) as well.
    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
    • Field Detail

      • ignoreCase

        private final boolean ignoreCase
        Deprecated.
      • tokenizerFactory

        private final java.lang.String tokenizerFactory
        Deprecated.
      • synonyms

        private final java.lang.String synonyms
        Deprecated.
      • format

        private final java.lang.String format
        Deprecated.
      • expand

        private final boolean expand
        Deprecated.
      • analyzerName

        private final java.lang.String analyzerName
        Deprecated.
      • tokArgs

        private final java.util.Map<java.lang.String,​java.lang.String> tokArgs
        Deprecated.
    • Constructor Detail

      • SynonymFilterFactory

        public SynonymFilterFactory​(java.util.Map<java.lang.String,​java.lang.String> args)
        Deprecated.
    • Method Detail

      • inform

        public void inform​(ResourceLoader loader)
                    throws java.io.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:
        java.io.IOException
      • loadSynonyms

        protected SynonymMap loadSynonyms​(ResourceLoader loader,
                                          java.lang.String cname,
                                          boolean dedup,
                                          Analyzer analyzer)
                                   throws java.io.IOException,
                                          java.text.ParseException
        Deprecated.
        Load synonyms with the given SynonymMap.Parser class.
        Throws:
        java.io.IOException
        java.text.ParseException
      • loadTokenizerFactory

        private TokenizerFactory loadTokenizerFactory​(ResourceLoader loader,
                                                      java.lang.String cname)
                                               throws java.io.IOException
        Deprecated.
        Throws:
        java.io.IOException
      • loadAnalyzer

        private Analyzer loadAnalyzer​(ResourceLoader loader,
                                      java.lang.String cname)
                               throws java.io.IOException
        Deprecated.
        Throws:
        java.io.IOException