示例#1
0
        /// <summary>
        /// Добавляем файл в индекс
        /// </summary>
        /// <param name="filePath"></param>
        private void AddFileToIndex(String filePath)
        {
            //Ожидаем выполнения других операций
            _syncMutex.WaitOne();
            //Регистрируем файл
            _registeredFiles.Add(filePath);
            //От парсера получаем список ключевых слов
            var words = _textParser.GetWordList(filePath);

            //Заполняем индекс
            foreach (var word in words)
            {
                List <String> files;
                if (_reversIndex.TryGetValue(word, out files))
                {
                    files.Add(filePath);
                }
                else
                {
                    _reversIndex.Add(word, new List <string>()
                    {
                        filePath
                    });
                }
            }
            _syncMutex.ReleaseMutex();
        }