| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Индексация текстовых файлов |
| Автор: gigi1988 12.5.2010, 15:05 |
| Доброе время суток! Есть такое задание: Разработать и реализовать систему клиент-сервер, в которой сервер выполнен в виде службы windows, а клиент позволяет пользователю взаимодействовать с сервером с использованием графического интерфейса и управлять работой службы (установка, запуск и остановка службы). Программу клиента разработать с использованием языка C#. Сервер индексирует текстовые файлы в определенных каталогах и предоставляет возможность осуществлять поиск по словам в этих файлах. Запрос на поиск может содержать подстановочные символы * и ?. Клиент отображает запрос на поиск, результаты поиска. Также клиент задает интервал времени для автоматического начала индексации или принудительно запускает/останавливает процесс индексации. У меня вызывает вопросы процесс индексации. Я не совсем понимаю как должен выглядеть индексный файл, как его формировать и т.д. Если кто-нибудь сможет дать дельные советы, рекомендации, а самое главное литературу, буду очень благодарен. |
| Автор: Pavia 12.5.2010, 18:29 |
| Почитай как гугл устроен. Файлы не наш путь. Используй готовую БД с СУБД. Таблицу слов в которой прописаны в каких фаилах эти слова встречаются. И для каждого файла таблица слов с их позициями в которых стоят эти слова. |
| Автор: Logo 14.5.2010, 09:22 | ||
В MySQL есть индексы FULLTEXT, в Postgres тоже есть полнотекстовой индекс, да еще и с морфологическим поиском. Заводить отдельную таблицу с какими-то позициями слов - велосипед. |
| Автор: Logo 14.5.2010, 21:32 |
| Это был ответ на сообщение Pavia. Если вас устраивает база данных вместо файлов, то просто создаете для поля базы данных индекс FULLTEXT (mysql). Затем можно искать потому полю, в том числе с помощью символов *. Там есть несколько режимов поиска, с.м. документацию. |