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));}}