/// <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(); }