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 {@code format} parameter controls how the synonyms will be parsed: It supports the short names of {@code solr} for SolrSynonymParser and {@code wordnet} for and WordnetSynonymParser, or your own {@code SynonymMap.Parser} class name. The default is {@code 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

Inheritance: Lucene.Net.Analysis.Util.TokenFilterFactory, IResourceLoaderAware
示例#1
0
        private static void AssertDelegator(TokenFilterFactory factory, Type delegatorClass)
        {
            assertNotNull(factory);
            assertTrue("factory not expected class: " + factory.GetType(), factory is SynonymFilterFactory);
            SynonymFilterFactory synFac = (SynonymFilterFactory)factory;
            object delegator            = synFac.Delegator;

            assertNotNull(delegator);
            assertTrue("delegator not expected class: " + delegator.GetType(), delegatorClass.IsInstanceOfType(delegator));
        }
示例#2
0
        private static void AssertDelegator(TokenFilterFactory factory, Type delegatorClass)
        {
            assertNotNull(factory);
            assertTrue("factory not expected class: " + factory.GetType(), factory is SynonymFilterFactory);
            SynonymFilterFactory synFac = (SynonymFilterFactory)factory;

#pragma warning disable 612, 618
            object delegator = synFac.Delegator;
#pragma warning restore 612, 618
            assertNotNull(delegator);
            assertTrue("delegator not expected class: " + delegator.GetType(), delegatorClass.GetTypeInfo().IsInstanceOfType(delegator));
        }