Каждому по поиску

Автор: Янковский, Роман
Опубликовано в журнале "Компьютерра" №15 от 20 апреля 2007 года

Наступившая эпоха Web 2.0 затронула и поисковики. Один за другим появляются различные специализированные поисковые системы (например, scholar.google.com, google.com/codesearch, koders.com и др.). В этой статье автор хотел бы поделиться впечатлениями о сервисах, позволяющих создать свой тематический поисковик.

Первая ласточка

Около года назад ЗАО "Поисковые технологии" запустило бета-версию "Персонального поиска" в рамках проекта "Новотека", который позволил желающим создавать свои тематические поисковые системы. Предлагается несколько вариантов использования сервиса "Новотека", в том числе и бесплатный (в результатах поиска которого демонстрируется реклама). Платные варианты отличаются размером дисковой квоты и количеством разрешенных за месяц запросов. Также они позволяют экспортировать результаты поиска в XML-формате.

Автор тематического поисковика должен настроить поискового робота, указывая ему точки входа на сайты (страницы, с которых начнется индексация содержимого сайта) и маски, по которым робот будет отбирать ссылки на веб-страницы для скачивания. Размер поисковой базы ограничен дисковой квотой, которая в бесплатном варианте составляет 1 Гбайт - этого объема достаточно в большинстве случаев. Некоторые из поисковиков, разработанных на базе "Новотеки", обрели популярность. Например, поиск по антивирусным сайтам от Игоря Ашманова или по ресурсам для поисковых оптимизаторов.

Несмотря на жесткие правила регистрации новых посетителей, уже опубликовано более 550 поисковых систем на различные темы - от электронных библиотек и научных сайтов до недвижимости и тендеров.

Следующим этапом эволюции "Персонального поиска" станет проект Flexum, запуск которого запланирован на середину апреля. Как обещают разработчики, пользователи "Персонального поиска" будут автоматически перенесены во Flexum, но об этом чуть позже.

Гигант поиска, в том числе тематического

Через несколько месяцев после запуска "Персонального поиска" и Google объявил об открытии сервиса Google Custom Search Engine. Поисковому гиганту нет нужды в выделении дополнительных мощностей под хранение данных тематического поиска, достаточно лишь использовать уже существующую базу.

Как раз благодаря использованию готовой глобальной базы отпадает надобность в поисковом роботе - достаточно настроить фильтрацию существующей поисковой базы. Настройка Google CSE - гибкая, простая и интуитивно понятная - заключается в указании фрагментов ссылок на страницы, которые будут использоваться в тематическом поиске. У автора поисковика также есть возможность присвоить сайтам теги, выбирая которые, пользователь сможет лучше конкретизировать запрос.

В отличие от "Персонального поиска", Google CSE не позволяет экспортировать результаты в XML. Интеграция с поиском возможна только с использованием JavaScript или AJAX. Это действительно проще, но накладывает ограничения на программную обработку результатов поиска.

Google SCE, как и системе от "Новотеки", не хватает поддержки регулярных выражений в масках. Нельзя сказать, что она нужна позарез, но порой довольно удобна. В некоторых случаях регулярные выражения позволили бы сделать запись более компактной. Например, вместо нескольких ссылок, вроде site.ru/hunting, site.ru/fishing и site.ru/justforfun, можно было бы прибегнуть к более краткому варианту: site.ru (hunting|fishing|justforfun).

Сервисная специфика

Опыт использования упомянутых движков для реализации поиска по материалам о программировании1 показывает, что Google CSE часто позволяет более качественно и в то же время просто фильтровать контент при включении в поиск только отдельных частей сайтов. В "Персональном поиске" нередко приходилось использовать несколько точек входа, количество которых, к слову, для одного сайта ограничено, что сужает возможности настройки.

На многих сайтах размещены материалы на самую разную тему. Например, на одном и том же сайте может присутствовать как документация по программированию на PHP, так и статьи о веб-дизайне. Можно выделить два способа построения ссылок при разбиении сайта на тематические разделы. В первом случае имеют место статьи с адресами вида site1.ru/category_name/article_name.htm и оглавление раздела со ссылками на статьи по адресу site1.ru/category_name. А во втором соответственно site2.ru/article_name.htm и site2.ru/category_name.htm.

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

В Google CSE очень просто работать со ссылками первого типа: для каждого раздела достаточно добавить фрагмент текста, который присутствует в адресах входящих в него статей (site1.ru/category_name). Со вторым типом возникают проблемы. Если указать строку "site2.ru", то в поиске будут задействованы статьи всех разделов, даже ненужных. В таких случаях можно добавлять в базу ссылки на статьи нужной тематики по одной, но это трудоемкое занятие, если статей на сайте сотни. К счастью, большинство качественных ресурсов использует первый способ адресации статей и разделов.

Отметим и возможность показа объявлений Google AdSense в тематическом поиске, которые приносят автору поисковика дополнительный доход. Также сервис Google позволяет выводить на странице поиска список наиболее популярных запросов.
Отсутствие у "Новотеки" общих поисковых баз не следует ставить ей в вину. "Персональный поиск" предоставляет возможность создания своей собственной поисковой базы. Некоторые веб-страницы по разным причинам могут отсутствовать в индексе Google. "Персональный поиск" лишен этого недостатка, и в базу будет включено только то, что указано в настройках робота. И обновляться она будет с заданной периодичностью.

Потенциал Flexum

Как в Google CSE, так и в будущем Flexum автор может приглашать людей для совместной работы над настройкой своего поиска. Но в Flexum это более явно выделено в концепцию "социального поиска". Вокруг создателей поисковых систем организуется социальная сеть, в которой они могут общаться, искать себе новых соавторов, давать друг другу права на работу со своими поисковыми системами (добавлять, редактировать описания или удалять сайты из поисковой системы, работать с тегами), оценивать качество работы других поисковых систем и т. д.

Все это позволяет создать на основе Flexum социальную саморегулируемую поисковую систему, построенную самими участниками-авторами.

Кроме того, в Flexum автор имеет большие возможности по управлению поисковой системой, такие как:

  • редактирование релевантности, то есть назначение каким-либо поисковым сайтам более высокого веса, чем остальным;
  • создание тематических статей-объявлений, связанных с поисковыми запросами и появляющихся в поисковой выдаче выше результатов обычного поиска;
  • заимствование описания сайтов у других авторов.

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

В заключение, хотелось бы отметить, что двумя вышеперечисленными сервисами список онлайн-средств для создания тематических поисковиков не исчерпывается. Например, есть Rollyo и Swicki. Последний имеет большую социальную составляющую, так как его удобно адаптировать не только к определенной тематике, но и конкретному онлайн-комьюнити. К тому же этот сервис обладает рядом интересных возможностей, таких как самообучение на основе прошлых запросов, демонстрация "облака" популярных запросов и т. д. Большая ложка дегтя заключается в том, что Swicki упорно не хочет сколько-нибудь прилично работать с русским языком. Да и у Rollyo в этом плане не все благополучно. Возможно, поэтому сервисы по сей день остались практически не востребованными в Рунете.

BYOMS

Оригинальную вариацию тематического поиска воплотили в жизнь разработчики системы BYOMS (то есть build your own mobile search, или "построй свой собственный мобильный поиск"). Впрочем, к мобильному телефону сервис имеет весьма отдаленное отношение. Суть его работы в следующем. Пользователь регистрируется на сайте системы, после чего составляет список ресурсов для индексации, параллельно указывая ряд дополнительных параметров для работы. После этого через IM-клиент (увы, поддерживается только AIM) пользователь получает доступ к системе. В списке интернет-пейджера появляется новый контакт. Это бот, который воспринимает реплики пользователя в качестве поисковых запросов и отвечает результатами поиска. С мобильниками BYOMS связывает только то, что многие телефоны поддерживают работу с IM-клиентами, и в этом случае еще ярче проявляется удобство такой формы поиска. РН


<<Колосс Родосский
Все материалы номера
Пять рифов обучающих программ >>