Программа выполняет быстрый поиск по текстовым файлам большого размера (проверено на файлах размером в 70 Гб).
Каждый указанный файл индексируется отдельно. Файлы должны быть в кодировке utf-8.
Каждая строка файла (до символов \r\n) рассматривается как отдельная сущность, в которой выполняется поиск заданных ключевых слов.
Результат поиска - список строк файла, в которых найдены ключевые слова.
Написано на C# в VisualStudio 2015 с использованием библиотек и технологий:
- WPF - пользовательский интерфейс
- Lucene.NET - полнотекстовый поиск с индексированием
- log4net - логирование
- Fluent NHibernate - хранение метаинформации о проиндексированных корпусах в SQLite
- Newtonsoft.Json - (де)сериализация пользовательской конфигурации для сохранения истории поиска
Для сборки необходима VisualStudio 2015. Все необходимые для сборки зависимости в проектах подключены через NuGet.
Перед использованием поиска по текстовому файлу, требуется его проиндексировать. Для этого на вкладке "Corpora" в главном окне нажмите "Add". Появится окно с параметрами нового корпуса. Там необходимо задать путь к текстовому файлу, который будет проиндексирован. После добавления нового корпуса запустите его индексирование кнопкой "Reindex" под списком корпусов.
На вкладке "Search" в выпадающем списке выбираете проиндексированный корпус, в котором будем искать. Затем вводите в отдельном поле ключевые слова. Нажатие "Enter" запускает поиск, результаты которого будут отображены в нижней части панели вкладки.