コード例 #1
0
ファイル: Analyzer.cs プロジェクト: jshah85/TextAnalysisTool
        /// <summary>
        /// Analyze input string (line) and generate its state and populate in-memory Cache
        /// </summary>
        /// <param name="line"></param>
        /// <returns></returns>
        public Dictionary <string, WordStatistic> AnalyzeSentence(string line)
        {
            // Return if input string is empty or null
            if (string.IsNullOrEmpty(line))
            {
                return(_stats);
            }

            List <CacheItem> cacheItemList = new List <CacheItem>();

            foreach (var word in RegexStore.SanitizeSentence(line))
            {
                if (_stats.ContainsKey(word))
                {
                    _stats[word].IncrementCount();
                }
                else
                {
                    var wStat = CorpusManager.GetWordStatistic(word);
                    _stats.Add(word, wStat);
                }

                // Generate CacheItem for each word
                if (_definitionService.Dictionary.ContainsKey(word))
                {
                    cacheItemList.Add(new CacheItem(word, _definitionService.Dictionary[word]));
                }
            }

            if (cacheItemList.Count > 0)
            {
                CacheProvider.Instance.AddToCache(cacheItemList);
            }

            return(_stats);
        }
コード例 #2
0
        public static void Init()
        {
            DefinitionService.Init();

            CorpusManager.Init();
        }