예제 #1
0
        public string [] GetCompletionList(string prefixText, int count)
        {
            var fileBasedDictionary = new FileBasedDictionary(Server);

            try
            {
                using (Stream ForwardDict = fileBasedDictionary.OpenForwardIndex())
                {
                    var dict = DawgSharp.Dawg <bool> .Load(ForwardDict, r => r.ReadBoolean());

                    return(dict.MatchPrefix(DictionaryHelper.RemoveStressMarks(prefixText).ToLowerInvariant()).Take(10).Select(kvp => kvp.Key).ToArray());
                }
            }
            catch (Exception exception)
            {
                Email.SendAdminEmail("GetCompletionList", exception.ToString());

                return(new [] { "Доступ к словарю в данный момент отсутствует. Возможно происходит построение индексов." });
            }
        }