public static string Stemmer(string lowerCaseTerm, string language) { //if (!stemDictionary.ContainsKey(language)) //{ // stemDictionary.Add(language, new Dictionary<string, string>()); //} Stemmer stemmer = new RudeStemmer(); if (language == "en") { stemmer = new ENLightStemmer(); } else if (language == "lv") { stemmer = new LVLightStemmer(); } else if (language == "ro") { stemmer = new ROLightStemmer(); } else if (language == "lt") { stemmer = new LTLightStemmer(); } else if (language == "et") { stemmer = new ETLightStemmer(); } else if (language == "de") { stemmer = new DELightStemmer(); } char[] sep = { ' ' }; string res = ""; string[] stringList = lowerCaseTerm.Split(sep, StringSplitOptions.RemoveEmptyEntries); foreach (string str in stringList) { string stem = ""; if (stemDictionary[language].ContainsKey(str)) { stem = stemDictionary[language][str]; } else { stem = stemmer.StemString(str); stemDictionary[language].Add(str, stem); } if (string.IsNullOrWhiteSpace(res)) { res = stem; } else { res += " " + stem; } } return(res); }
public static string Stemmer(string lowerCaseTerm, string language) { //if (!stemDictionary.ContainsKey(language)) //{ // stemDictionary.Add(language, new Dictionary<string, string>()); //} Stemmer stemmer = new RudeStemmer(); if (language == "en") { stemmer = new ENLightStemmer(); } else if (language == "lv") { stemmer = new LVLightStemmer(); } else if (language == "ro") { stemmer = new ROLightStemmer(); } else if (language == "lt") { stemmer = new LTLightStemmer(); } else if (language == "et") { stemmer = new ETLightStemmer(); } else if (language == "de") { stemmer = new DELightStemmer(); } char[] sep = { ' ' }; string res = ""; string[] stringList = lowerCaseTerm.Split(sep, StringSplitOptions.RemoveEmptyEntries); foreach (string str in stringList) { string stem = ""; if (stemDictionary[language].ContainsKey(str)) { stem = stemDictionary[language][str]; } else { stem = stemmer.StemString(str); stemDictionary[language].Add(str, stem); } if (string.IsNullOrWhiteSpace(res)) { res = stem; } else { res += " " + stem; } } return res; }