示例#1
0
        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);
        }
示例#2
0
 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;
 }