Иван Максимов
Как организовать поиск информации на файловом сервере не только по
названию и типу документа, но и по его контенту? Возможно ли создать подходящий
инструмент, доступный и прозрачный для пользователей?
В настоящее время вопрос поиска информации становится все более и более
актуален. В сети Интернет давно идет конкурентная борьба между поисковыми
системами, постоянно предлагающими новые сервисы, возможности и совершенные
механизмы поиска. Но нужные данные сложно найти не только в Интернете. На
домашних компьютерах пользователей также накапливается огромное количество и
разобраться в этом многообразии иногда очень не просто. В организациях
чаще всего информацию централизуют и сортируют на файловых серверах, но со
временем поиск нужных документов затрудняется. Производители программного
обеспечения отреагировали на данную потребность. На сегодня существуют
десятки поисковых машин, работающих локально на PC, также появились серверные
поисковые машины.
Локальные поисковые машины в большинстве
своем распространяются бесплатно, тогда как корпоративные версии, позволяющие
пользователям производить поиск информации на сервере, стоят достаточно дорого.
Несомненно, покупая коммерческий продукт, мы получаем грамотную техническую
поддержку и другие преимущества, но небольшие организации или владельцы
частных сетей не всегда в состоянии заплатить тысячи долларов за подобные
продукты. К счастью, в мире Open Source существуют свободные проекты, не
уступающие по функциональности своим коммерческим конкурентам, с качественной
поддержкой и обновлениями.
Сейчас мы рассмотрим один из вариантов по
организации поиска документов на файловом сервере, который был реализован на
конкретной задаче.
Начальные условия
Имеется файловый сервер под управлением ОС Linux. Для совместного
использования файлов установлены популярные пакеты samba и pro-ftp.
На диске используется файловая система reiserfs, как наиболее
производительная для работы с большим количеством маленьких файлов (документы,
около 3 тысяч, различных форматов: txt, html, doc, xls, rtf). Данные
отсортированы, но их объем растет с каждым днем, удаление устаревшей информации
не решает проблему. Как организовать поиск по именам и типам
документов, а также по контенту? Как сделать его доступным для
пользователей в локальной сети?
Для решения этих вопросов нам понадобится
поисковый движок, сервер баз данных (MySQL, firebirg, ...), веб-сервер Apache
[13] и около гигабайта дискового пространства для работы комплекса.