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
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
format
parameter controls how the synonyms will be parsed: It supports the short names ofsolr
forSolrSynonymParser
andwordnet
for andWordnetSynonymParser
, or your ownSynonymMap.Parser
class name. The default issolr
. A customSynonymMap.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 synonymAnalyzer
analyzer
- Since:
- 6.4.0
- See Also:
SolrSynonymParser: default format
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
analyzerName
private boolean
expand
private java.lang.String
format
private boolean
ignoreCase
private SynonymMap
map
static java.lang.String
NAME
SPI nameprivate java.lang.String
synonyms
private java.util.Map<java.lang.String,java.lang.String>
tokArgs
private java.lang.String
tokenizerFactory
-
Fields inherited from class org.apache.lucene.analysis.AbstractAnalysisFactory
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion
-
-
Constructor Summary
Constructors Constructor Description SynonymGraphFilterFactory()
Default ctor for compatibility with SPISynonymGraphFilterFactory(java.util.Map<java.lang.String,java.lang.String> args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TokenStream
create(TokenStream input)
Transform the specified input TokenStreamvoid
inform(ResourceLoader loader)
Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).private Analyzer
loadAnalyzer(ResourceLoader loader, java.lang.String cname)
protected SynonymMap
loadSynonyms(ResourceLoader loader, java.lang.String cname, boolean dedup, Analyzer analyzer)
Load synonyms with the givenSynonymMap.Parser
class.private TokenizerFactory
loadTokenizerFactory(ResourceLoader loader, java.lang.String cname)
-
Methods inherited from class org.apache.lucene.analysis.TokenFilterFactory
availableTokenFilters, findSPIName, forName, lookupClass, normalize, reloadTokenFilters
-
Methods 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 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:TokenFilterFactory
Transform the specified input TokenStream- Specified by:
create
in classTokenFilterFactory
-
inform
public void inform(ResourceLoader loader) throws java.io.IOException
Description copied from interface:ResourceLoaderAware
Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).- Specified by:
inform
in 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.Parser
class.- Throws:
java.io.IOException
java.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
-
-