Class SynonymGraphFilterFactory
java.lang.Object
org.apache.lucene.analysis.AbstractAnalysisFactory
org.apache.lucene.analysis.TokenFilterFactory
org.apache.lucene.analysis.synonym.SynonymGraphFilterFactory
- All Implemented Interfaces:
ResourceLoaderAware
Factory for
SynonymGraphFilter.
<fieldType name="text_synonym" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" 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 SynonymGraphFilterFactory 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 SynonymGraphFilterFactory, 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 otherwiseboolean expand- true if conflation groups should be expanded, false if they are one-directional- an analyzer used for each raw synonymAnalyzeranalyzer
- Since:
- 6.4.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Stringprivate final booleanprivate final Stringprivate final booleanprivate SynonymMapstatic final StringSPI nameprivate final Stringprivate final StringFields inherited from class org.apache.lucene.analysis.AbstractAnalysisFactory
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion -
Constructor Summary
ConstructorsConstructorDescriptionDefault ctor for compatibility with SPISynonymGraphFilterFactory(Map<String, String> args) -
Method Summary
Modifier and TypeMethodDescriptioncreate(TokenStream input) Transform the specified input TokenStreamvoidinform(ResourceLoader loader) Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).private AnalyzerloadAnalyzer(ResourceLoader loader, String cname) protected SynonymMaploadSynonyms(ResourceLoader loader, String cname, boolean dedup, Analyzer analyzer) Load synonyms with the givenSynonymMap.Parserclass.private TokenizerFactoryloadTokenizerFactory(ResourceLoader loader, String cname) Methods inherited from class org.apache.lucene.analysis.TokenFilterFactory
availableTokenFilters, findSPIName, forName, lookupClass, normalize, reloadTokenFiltersMethods inherited from class org.apache.lucene.analysis.AbstractAnalysisFactory
defaultCtorException, 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
-
Field Details
-
NAME
SPI name- See Also:
-
ignoreCase
private final boolean ignoreCase -
tokenizerFactory
-
synonyms
-
format
-
expand
private final boolean expand -
analyzerName
-
tokArgs
-
map
-
-
Constructor Details
-
SynonymGraphFilterFactory
-
SynonymGraphFilterFactory
public SynonymGraphFilterFactory()Default ctor for compatibility with SPI
-
-
Method Details
-
create
Description copied from class:TokenFilterFactoryTransform the specified input TokenStream- Specified by:
createin classTokenFilterFactory
-
inform
Description copied from interface:ResourceLoaderAwareInitializes this component with the provided ResourceLoader (used for loading classes, files, etc).- Specified by:
informin interfaceResourceLoaderAware- Throws:
IOException
-
loadSynonyms
protected SynonymMap loadSynonyms(ResourceLoader loader, String cname, boolean dedup, Analyzer analyzer) throws IOException, ParseException Load synonyms with the givenSynonymMap.Parserclass.- Throws:
IOExceptionParseException
-
loadTokenizerFactory
private TokenizerFactory loadTokenizerFactory(ResourceLoader loader, String cname) throws IOException - Throws:
IOException
-
loadAnalyzer
- Throws:
IOException
-