ZLine GTSearch

GTSearch: платформа для создания специализированных и вертикальных поисковых систем

(ООО Дельта-Софт)

Если в универсальной поисковой системе, например в Рамблере или в Google, вы наберете слово "Звезды", то среди нескольких первых десятков найденных ссылок будут присутствовать газеты, магазины и огромное число публикаций об артистической богеме, но статей по астрономии, даже популярных, не найдется. Думаю, что специалисты в других областях могут привести свои не менее интересные примеры. И это является общей проблемой: при поиске специальной информации в универсальных поисковых системах она оказывается сильно "замусоренной". Наиболее эффективный способ решения данной проблемы – создание специализированных поисковых систем, обслуживающих тематические или вертикальные рынки.

Введение

Поисковая система состоит из следующих взаимодействующих частей:

  • 1. каталога сайтов;
  • 2. краулера;
  • 3. индексатора;
  • 4. обработчика поисковых запросов;
  • 5. интерфейса для задания поисковых запросов.

Каталог индексируемых должен содержать служебную информацию, используемую краулером и обработчиком поисковых запросов, а также может иметь необязательную публичную часть. В публичную часть могут входить названия, адреса (url) и логотипы сайтов, их краткая или развернутая информация, экспертные оценки, ссылки на дополнительные ресурсы и т.д. Сайты в каталоге могут быть классифицированы с помощью рубрикаторов, присутствующих в системе. Краулер последовательно просматривает web-сайты, включенные в каталог, скачивает с них новые и обновленные файлы и ставит их в очередь на индексирование. Индексатор просматривает полученные с сайтов документы и на их основе строит полнотекстовый обратный индекс, используемый обработчиком поисковых запросов. Информация о файлах, которые не изменились, берется из предыдущей (текущей) версии индекса. Из файлов в формате отличном от html и text (например, doc или pdf) перед индексацией извлекается текстовая информация.

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

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

Все перечисленные части поисковой машины могут функционировать на одном или на различных серверах в зависимости от числа индексируемых сайтов, внесенных в каталог и потока поисковых запросов.

Для создания подобных поисковых систем мы предлагаем использовать поисковый движок GTSearch, разработанный в ООО Дельта-Софт.

Что такое GTSearch и для каких целей он предназначен ?
Функции и возможности GTSearch

Основная функция поисковой машины *GTSearch (Generic Text Search)* – полнотекстовый поиск в документах, доступных по протоколу HTTP. Документы перекачиваются с веб-серверов на локальный компьютер и по ним строится так называемый "обратный индекс", который дает возможность по заданным словам искать документы, их содержащие. Найденные документы ранжируются в соответствии с критериями релевантности: положением слов внутри документа, близостью ключевых слов друг к другу. Также может учитываться количество внешних ссылок на документ для выделения "важных" документов.

Область применения и решаемые задачи

Кроме поиска, GTSearch может использоваться для организации работы с веб-документами: показ списков документов (общий список, посайтовый список и др.), показ наиболее свежих документов (или наиболее старых для выявления давно не обновлявшихся), локальное хранение и извлечение копий документов, разбиение множества документов на рубрики и просмотр рубрик.

Наиболее типичными применениями GTSearch являются сдежующие:

  • Поиск по сайту: можно организовать поиск по вашему сайту или нескольким сайтам на современном уровне. Никаких специальных доработок сайта, как правило, не требуется (за исключением добавления на его страницы формы поиска).
  • Тематический поиск: собрав коллекцию веб-ресурсов на заданную тему (например, комнатные растения), можно организовать поиск по ней. Это отличное дополнение к тематическому сайту (например, сайту фирмы, производящей горшки или удобрения), а также рекламная площадка со строго целевым траффиком. Для качественного функционирования тематического поиска необходимо поддерживать актуальность списка сайтов по теме.
  • Поддержка каталога ресурсов: поисковая система является отличным дополнением к каталогу веб-ресурсов. Как правило, каталог сложнее в обращении, чем поиск, поэтому для нетерпеливого (или очень занятого) пользователя поиск позволяет сильно сократить время нахождения нужной информации на каталогизированных ресурсах. GTSearch имеет встроенные средства для интеграции с каталогами ресурсов (поддержка рубрик).
  • Мониторинг сайта или группы сайтов: можно организовать регулярный обход нужных сайтов, с выявлением новых или недавно изменившихся документов и организации поиска по ним. Это надежный способ не пропустить ничего нового, причем обновленные и вновь появившиеся документы могут быть представлены в виде удобного списка, отсортированного или по сетевому имени (URL), или по времени последней модификации.
  • Создание семейства специализированных поисковых машин: на одном каталоге и индексе можно создать несколько специализированных поисковых машин, если их "области интересов" достаточно сильно пересекаются. Для каждой из машин поискового семейства определяется фиксированные подмножества сайтов по которым они производят поиск. Подмножество может определяться явным образом (как список сайтов), по именам сайтов или с помощью рубрикатора. Выбор той или иной машины поискового семейства определяется точкой входа – страницей формирования поискового запроса. Пример подобной системы – поиск по вопросам биологии (ботаники) и сельского хозяйства. Данная особенность является уникальным свойством поискового движка GTSearch.
Уникальные особенности GTSearch
  • Быстрые современные алгоритмы индексации документов.
  • Многокритериальный алгоритм релевации найденных документов с возможностью задания весовых коэффициентов.
  • Широкие возможности по конфигурированию и настройке всей системы.
  • Наличие языковых модулей для русского и английского языков и возможность создания подобных модулей для других языков.
  • Поддержка специализированных тематических словарей.
  • Базовые компоненты поисковой машины (операционная система, база данных, веб-сервер) являются продуктами Open Source и не требуют для своей установки лицензионных отчислений.

Более подробно технические возможности GTSearch описаны ниже в Приложении.

Мы и наши предложения
Наш подход

ООО Дельта-Софт – небольшая фирма, занимающаяся разработкой сложных программных систем под заказ.

Поэтому мы

  • очень заинтересованы в успешности каждого нашего проекта;
  • мы очень тесно взаимодействуем с заказчиками.
Наше основное предложение

Наше основное предложение состоит в следующем:

  • приобретение одной лицензии на продукт GTSearch;
  • создание на основе платформы GTSearch специализированной поисковой машины, соответствующей требованиям заказчика;
  • установка поисковой машины на сервере предоставляемом заказчиком или арендуемым исполнителем;
  • сопровождение поисковой системы в течение 1-3 лет, включающая установку обновлений в поисковой системе и ее базовых компонентах;
  • техническое обслуживание поисковой машины в течение того же периода (1-3 года);
  • обучение персонала заказчика и передача ему функций поддержание и сопровождения системы.

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

Примеры систем на платформе GTSearch

Поисковая система по веб-сайтам Московского Государственного Университета им. М.В. Ломоносова http://search.msu.ru/.

Поисковая система по русскоязычным астрономическим ресурсам http://www.astronet.ru/db/astrosearch/.

Поисковая система для разработчиков и пользователей базы данных PostgreSQL.

О нас

ООО Дельта-Софт было образовано в 2003 году, до этого ее сотрудники составляли подразделение холдинга Стек Групп.

Сотрудники фирмы участвовали в создании следующих проектов (здесь могут быть ошибки!!!):

  • Каталог и поисковая система RAMBLER www.rambler.ru (2000).
  • Образовательные и научно-популярные сайты "Научной сети":
    • "Научная сеть" nature.web.ru;
    • "Астронет" www.astronet.ru;
    • "Все о геологии" students.web.ru;
    • "Криптография" cryptography.web.ru.
  • Федеральные образовательные порталы:
    • Экономика, социология и менеджмент ecsocman.edu.ru;
    • Естественные науки en.edu.ru
  • Специализированные поисковые системы:
    • Astrosearch www.astronet.ru/db/astrosearch/;
    • Поиск по МГУ search.msu.ru.
Приложение. Технические возможности GTSearch
  • Извлечение индексируемых документов производится по стандартному протоколу HTTP, что позволяет обрабатывать любые сайты; доступа к файловой системе сайта не требуется. Не требуется также явного согласия владельца сайта на индексацию. В то же время поддерживается управление областью индексации через стандартные файлы robots.txt.
  • Имеется гибкое управление множеством документов, подлежащих индексации (включение/исключение групп документов по шаблонам для URL).
  • Возможна индексация документов в форматах, отличных от HTML и текста, например Microsoft Word, Posctscript, PDF.
  • Процессы краулинга/индексации и поиска разделены во времени и дисковом пространстве. Это позволяет выполнять их параллельно, без остановки поискового сервиса.
  • Сервер поиска может работать на отдельной машине для удобства администрирования или повышения производительности.
  • Как краулер, так и обработчик поисковых запросов GTSearch, обладают простейшими возможностями распрараллеливания. Т.е. имеется возможность одновременного запуска нескольких краулеров и индексаторов (на одном или нескольких серверах) между которыми будет распределяться каталог индексируемых ресурсов и запуск нескольких обработчиков запросов при их большом потоке.
  • Поиск по ключевым словам возможен по критериям "и", "или", "не". Имеется поиск фраз (слов, следующих друг за другом); фразы также могут участвовать в операциях "и", "или", "не".
  • Поисковая система использует современные алгоритмы подсчета релевантности документа данному запросу, учитывающие: частотность слова в документе; положение слова в документе (HTML тэги); частотность слова в коллекции документов; позицию слова от начала документа; близость слов друг к другу в документе.
  • Результаты поиска (список найденных документов) могут быть представлены в любом формате; для каждого найденного документа приводятся: список сетевых имен (URL), под которыми известен документ; размер; время последней модификации; время последнего обхода; кодировка (для документов на русском языке); формат (HTML, текст, PDF и т.п.); начало документа; фрагменты документа, содержащие ключевые слова; список рубрик, к которым принадлежит документ.
  • Имеется возможность поиска документов, похожих на заданный документ или заданный текст.
  • Имеется возможность поиска по всем формам слов, в т.ч. для слов, неизвестных словарю (по алгоритмам обрезания); в одном запросе расширение по формам можно задавать для каждого слова индивидуально.
  • Документы, скачанные с сервера, хранятся локально и могут выдаваться по запросу (например, в случае, когда оригинальный документ временно недоступен из-за сетевых проблем или был удален). Для преобразованных документов (например, Microsoft Word, PDF) выдается текст, полученный в результате преобразования. Это позволяет быстро просматривать на экране содержимое документа без использования оригинальной программы чтения (Microsoft Word, Adobe Acrobat Reader), т.е. в любой операционной системе.
  • Результаты поиска могут группироваться по сайтам, по сайтам/каталогам, сайтам/подкаталогам для более наглядного представления. При необходимости возможно разворачивание сгруппированных результатов.
  • Слова, не несущие содержательной информации (союзы, предлоги) по умолчанию игнорируются при поиске для ускорения работы, но имеется возможность явного включения их в запрос.
  • Результаты поиска могут быть отсортированы по дате последней модификации как для выявления самых новых документов, так и самых старых. Также возможна фильтрация результатов поиска по диапазону времени последней модификации.
  • Имеется возможность выдачи списка индексируемых сайтов, отсортированного как в алфавитном порядке, так и по количеству индексируемых документов на каждом сайте.
  • Имеется возможность выдачи списка индексируемых документов; список документов может быть отфильтрован по рубрикам, сайтам, диапазонам времени последней модификации; отсортирован в алфавитном порядке или по дате последней модификации.
  • Каждому документу может быть присвоен произвольный список рубрик; рубрики могут использоваться для ограничения области поиска/просмотра списка документов, а также для классификации документов.
  • Возможен поиск по отдельному сайту, части отдельного сайта или произвольной совокупности сайтов/частей сайтов. Спискам сайтов и частей сайтов может быть присвоено короткое имя.

Ограничения GTSearch

Основное ограничение – количество и объем обрабатываемых документов. С одной стороны, GTSearch не использует эвристических методов при поиске и всегда выдает точные результаты. Обычно в больших поисковых системах точность поиска зависит от загрузки системы, но в GTSearch это не так. Кроме того, GTSearch не имеет средств для параллелизации поиска. Поэтому на современном компьютере с процессором Intel с частотой 2-3 ГГц разумный предел числа обрабатываемых документов составляет около 100 млн. (принимая средний размер документа равным 10KB). Производительность начинает заметно падать при числе документов, превышающем 10 млн.

Отметим, что общее количество документов в Российском сегменте интернета в 2003 году составляет порядка 100 млн. (по данным крупнейших поисковых систем Rambler и Yandex). Эти документы охватывают тысячи тематик, и, таким образом, для организации тематического поиска не требуется обрабатывать более нескольких миллионов документов.