/// <summary> /// Возвращает список проллемитизированных слов из запроса (если не может найти начальную форму то стреммит его т.е. обрезает окончание) /// </summary> /// <param name="request">список слов запроса</param> /// <returns> обработанный список слов из запроса</returns> public static List <string> GetStremmingWords(string[] request) { var result = new List <string>(); foreach (var word in request) { var infWord = Analyser.FindAllSourceForm(word).FirstOrDefault(); result.Add(infWord.SourceForm ?? Stemmer.Stemm(word)); } return(result); }
/// <summary> /// Леммитизация слов из непосредственного запроса пользователя в векторном поиске /// </summary> /// <param name="request"></param> /// <returns></returns> public static string[] GetStremmingWordsForQuery(string[] request) { var result = new string[request.Length]; for (int i = 0; i < request.Length; i++) { var infWord = Analyser.FindAllSourceForm(request[i]).FirstOrDefault(); result[i] = (infWord.SourceForm ?? Stemmer.Stemm(request[i])); } return(result); }