public SynonymFilterFactory(Map<String,String> args) {super(args);ignoreCase = getBoolean(args, "ignoreCase", false);synonyms = require(args, "synonyms");format = get(args, "format");expand = getBoolean(args, "expand", true);analyzerName = get(args, "analyzer");tokenizerFactory = get(args, "tokenizerFactory");if (analyzerName != null && tokenizerFactory != null) {throw new IllegalArgumentException("Analyzer and TokenizerFactory can't be specified both: " +analyzerName + " and " + tokenizerFactory);}if (tokenizerFactory != null) {tokArgs.put("luceneMatchVersion", getLuceneMatchVersion().toString());for (Iterator<String> itr = args.keySet().iterator(); itr.hasNext();) {String key = itr.next();tokArgs.put(key.replaceAll("^tokenizerFactory\\.",""), args.get(key));itr.remove();}}if (!args.isEmpty()) {throw new IllegalArgumentException("Unknown parameters: " + args);}}

public SynonymFilterFactory ( Map < String , String > args ) { super ( args ) ; ignoreCase = getBoolean ( args , "ignoreCase" , false ) ; synonyms = require ( args , "synonyms" ) ; format = get ( args , "format" ) ; expand = getBoolean ( args , "expand" , true ) ; analyzerName = get ( args , "analyzer" ) ; tokenizerFactory = get ( args , "tokenizerFactory" ) ; if ( analyzerName != null && tokenizerFactory != null ) { throw new IllegalArgumentException ( "Analyzer and TokenizerFactory can't be specified both: " + analyzerName + " and " + tokenizerFactory ) ; } if ( tokenizerFactory != null ) { tokArgs . put ( "luceneMatchVersion" , getLuceneMatchVersion ( ) . toString ( ) ) ; for ( Iterator < String > itr = args . keySet ( ) . iterator ( ) ; itr . hasNext ( ) ; ) { String key = itr . next ( ) ; tokArgs . put ( key . replaceAll ( "^tokenizerFactory\\." , "" ) , args . get ( key ) ) ; itr . remove ( ) ; } } if ( ! args . isEmpty ( ) ) { throw new IllegalArgumentException ( "Unknown parameters: " + args ) ; } }
public SynonymFilterFactory(IDictionary<string, string> args): base(args){AssureMatchVersion();if (m_luceneMatchVersion.OnOrAfter(Lucene.Net.Util.LuceneVersion.LUCENE_34)){delegator = new FSTSynonymFilterFactory(new Dictionary<string, string>(OriginalArgs));}else{if (args.TryGetValue("format", out string value) && !value.Equals("solr", StringComparison.Ordinal)){throw new System.ArgumentException("You must specify luceneMatchVersion >= 3.4 to use alternate synonyms formats");} delegator = new SlowSynonymFilterFactory(new Dictionary<string, string>(OriginalArgs));}}
