Class SynonymGraphFilterFactory
- java.lang.Object
-
- org.apache.lucene.analysis.util.AbstractAnalysisFactory
-
- org.apache.lucene.analysis.util.TokenFilterFactory
-
- org.apache.lucene.analysis.synonym.SynonymGraphFilterFactory
-
- All Implemented Interfaces:
ResourceLoaderAware
public class SynonymGraphFilterFactory extends TokenFilterFactory implements ResourceLoaderAware
Factory forSynonymGraphFilter.<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
formatparameter controls how the synonyms will be parsed: It supports the short names ofsolrforSolrSynonymParserandwordnetfor andWordnetSynonymParser, or your ownSynonymMap.Parserclass name. The default issolr. A customSynonymMap.Parseris 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:
SolrSynonymParser: default format
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringanalyzerNameprivate booleanexpandprivate java.lang.Stringformatprivate booleanignoreCaseprivate SynonymMapmapstatic java.lang.StringNAMESPI nameprivate java.lang.Stringsynonymsprivate java.util.Map<java.lang.String,java.lang.String>tokArgsprivate java.lang.StringtokenizerFactory-
Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion
-
-
Constructor Summary
Constructors Constructor Description SynonymGraphFilterFactory(java.util.Map<java.lang.String,java.lang.String> args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TokenStreamcreate(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, java.lang.String cname)protected SynonymMaploadSynonyms(ResourceLoader loader, java.lang.String cname, boolean dedup, Analyzer analyzer)Load synonyms with the givenSynonymMap.Parserclass.private TokenizerFactoryloadTokenizerFactory(ResourceLoader loader, java.lang.String cname)-
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
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
SPI name- See Also:
- Constant Field Values
-
ignoreCase
private final boolean ignoreCase
-
tokenizerFactory
private final java.lang.String tokenizerFactory
-
synonyms
private final java.lang.String synonyms
-
format
private final java.lang.String format
-
expand
private final boolean expand
-
analyzerName
private final java.lang.String analyzerName
-
tokArgs
private final java.util.Map<java.lang.String,java.lang.String> tokArgs
-
map
private SynonymMap map
-
-
Method Detail
-
create
public TokenStream create(TokenStream input)
Description copied from class:TokenFilterFactoryTransform the specified input TokenStream- Specified by:
createin classTokenFilterFactory
-
inform
public void inform(ResourceLoader loader) throws java.io.IOException
Description copied from interface:ResourceLoaderAwareInitializes this component with the provided ResourceLoader (used for loading classes, files, etc).- Specified by:
informin interfaceResourceLoaderAware- 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
Load synonyms with the givenSynonymMap.Parserclass.- Throws:
java.io.IOExceptionjava.text.ParseException
-
loadTokenizerFactory
private TokenizerFactory loadTokenizerFactory(ResourceLoader loader, java.lang.String cname) throws java.io.IOException
- Throws:
java.io.IOException
-
loadAnalyzer
private Analyzer loadAnalyzer(ResourceLoader loader, java.lang.String cname) throws java.io.IOException
- Throws:
java.io.IOException
-
-