ПОИСКОВАЯ СИСТЕМА WEB-СЕРВЕРА НА ОСНОВЕ СУБД

А.В.Веремьев, С.П.Голенский, Д.В.Деграве, А.В.Фомичев

Институт высокопроизводительных вычислений и баз данных, Санкт-Петербург

Тел.: (812) 251-00-38, факс: (812) 251-83-14, e-mail: cawa@csa.ru, spg@fn.csa.ru, degrave@fn.csa.ru

Задача создания поисковой системы по гипертекстовому массиву данных является актуальной проблемой информационной поддержки Web-сайта. Более того, она является частным случаем общей задачи выборки и представления пользователю интересующей его информации.

Имея некоторый информационный массив, пользователю предоставляется возможность параметризованной выборки. В этом случае возникает задача предоставления пользователю некоторого языка (в самом общем смысле) формирования запроса. А также адекватного (эффективного) метода интерпретации и реализации этого запроса.

При создании языка был выбран стандартный подход описания запроса символьной строкой, представляющей выражение из предикатов вхождения слова в гипертекстовый ресурс, объединенных операциями логического И, ИЛИ, ОТРИЦАНИЯ и сгруппированных с помощью скобок со сколь угодно большой степенью вложенности. Этот подход дает пользователю простой и мощный инструмент описания своих требований к запрашиваевым данным.

При реализации выборки естественным образом возникает задача объединения, пересечения, вычитания и дополнения множеств, удовлетворяющих условиям выборки. Оптимизация порядка выполнения этих операций являтся сложной задачей. Она, в некотором смысле, эквивалентна задаче преобразования выражений булевой алгебры, многие из таких задач обладают NP полнотой. На самом деле, такая оптимизация эквивалентна оптимизации плана объеденения таблиц при реализации запроса к реляционной СУБД. Естественно, при составлении плана выполнения запроса необходимо обладать информацией о селективности операторов выборки по индивидуальным условиям, а также иметь методы оценки селективности операторов по скомпонованным условиям.

Есть основания полагать, что реляционная СУБД обладает всей необходимой информацией и функциональностью для эффективной реализации выборки информации по сложным составным условиям. Более того, серьезный промышленный продукт должен обладать этими свойствами. Поэтому в качестве основы для информационной системы поиска по гипертекстовому массиву мы выбрали реляционую СУБД корпорации IBM DB2 UDB V5.0 for AIX.

Информационная система реализована в распределенной среде. Сервер баз данных находится на одном компьютере, Web-сервер института на другом, а Web-интерфейс поисковой системы на третьем. Последнее обстоятельство продиктовано удобством концентрации активных точек доступа к ресурсам СУБД на выделенном Web-сервере.

Web-интерфейс поисковой системы реализован с помощью стандартного интерфейса шлюзов (Common Gateway Interface) с использованием языка Perl. Обращение к СУБД осуществляется посредством стандартной клиентской части и command line обработчика запросов.

Наполнение системы данными производится нисходящей выборкой гипертекстовых ресурсов по протоколу HTTP 1.0 с последующим лексическим анализом. Универсальность этой технологии позволяет создать на нашей базе поисковую систему по любому доступному Web-сайту.

Дополнительная информация об используемой технологии находится по адресу http://www.csa.ru/dblab по ссылке "Поисковая система".