Google Custom Search Engine

Google Custom Search Engine

Проект Google Custom Search Engine (сокращенно – Google CSE) является наиболее крупной на сегодняшний день системой персонального интернет-поиска. Интерфейс Google CSE доступен на нескольких десятках языках. Предусмотрен и русский язык. Правда, перевод пока неполный, особенно страдает в этом плане справочная система.

Создание собственного поисковика Google CSE происходит в несколько этапов. Удобнее всего будет отследить этот процесс на практическом примере создания тематического поисковика.

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

Следующий шаг – непосредственная регистрация в системе Google Custom Search Engine и создание нового поисковика. Стартовая страница системы сразу же предлагает ссылку для этого. В специальной форме указывается имя новой системы, краткое описание поисковика и набор сопоставленных ему ключевых слов. Этот набор будет использоваться для уточнения результатов сортировки: сайты с такими ключевыми словами расположатся выше в списке выдачи Далее необходимо выбрать один из трех режимов работы будущей машины: простой поиск во всей базе Google, поиск только на сайтах, непосредственно включенных в персональный индекс, и поиск в базе Google с выводом включенных в индекс сайтов на первые позиции в списке выдачи.

Выбор между этими вариантами лучше всего делать с учетом степени вашей подготовленности. Если вы интересуетесь определенной темой достаточно долго, у вас, скорее всего, уже имеется хорошая коллекция ссылок на действительно полезные и информативные сайты по теме. Список таких ссылок можно использовать как основу для персонального поисковика. В этом случае лучше сразу ограничить сферу поиска только указанными сайтами, поскольку этот вариант избавит поисковик от большей части информационного шума. Если же у вас такой подборки ссылок пока нет и поисковик создается «с нуля», имеет смысл выбрать вариант поиска в базе Google с предпочтением указанных вами сайтов. Такой вариант позволит сразу же получить работоспособную систему, точность функционирования которой будет постепенно повышаться по мере пополнения персонального списка сайтов.

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

Изменить большинство из указанных при регистрации параметров нового поисковика впоследствии можно с помощью раздела Основные сведения, который расположен на боковой панели управления Google CSE.

Следующий этап работы над персональным поисковиком – заполнение его индексной базы – занимает гораздо больше времени. Поддерживая свой поисковик, пользователь в основном занимается именно этой работой. В настоящее время существует ограничение на общее количество сайтов, задействованных при персональном поиске одного пользователя – не более 5000 ссылок. Добавить адреса новых сайтов в индекс поисковика можно с помощью веб-интерфейса сервиса, дополнения для браузера, а также посредством импорта предварительно отформатированного пользователем файла в формате XML.

Первый способ предполагает использование веб-интерфейса самого поисковика Google CSE. В боковой панели системы находится ссылка. Сайты, которая и открывает соответствующую форму. Работа идет сразу с двумя списками: первый из них позволяет включать сайты в индекс поисковика. Назначение второго – прямо противоположное: исключение результатов с указанных вами сайтов из результатов поиска.

В ходе добавления новых ресурсов к персональной системе в адресах сайтов можно использовать маски, позволяющие точно указать, что именно мы хотим включить в свой индекс. Это дает возможность задействовать в своей системе широкий диапазон ресурсов: от целых доменов до конкретных веб-страниц. Данная возможность серьезно повышает гибкость настройки системы поиска, поскольку позволяет «оптом» добавлять в индекс сразу группы сайтов, или наоборот – ограничивать индекс определенного сайта каким-либо одним его разделом. Это полезно, если вы нашли сайт широкого профиля. Если просто включить его в базу, то кроме полезных для вашего тематического поиска результатов в списке выдачи окажется много лишних ссылок из других разделов сайта. Если взять, например, авиационную тему, то эту ситуацию можно проиллюстрировать на примере фотогалерей. Допустим, мы хотим включить в свою систему результаты поиска в базе фотохостинга Flickr. Простое добавление в индекс адреса fLickr.com ни к чему хорошему не приведет: мы получим огромное количество результатов, большинство из которых будет иметь к тематике нашего поисковика лишь отдаленное отношение. Гораздо дальновидней включить в индекс только конкретные подборки или архивы пользователей, которые фотографируют именно авиацию. Например, следующая маска даст возможность включить в индекс нашего поисковика только фотографии группы, посвященной британскому истребителю Lightning:

www.flickr.com/groups/english_electric_lightning/*

Другие примеры шаблонов представлены в табл. 6.1.

Таблица 6.1. Шаблоны в Google Custom Search Engine

Пополнять базы с помощью веб-интерфейса Google CSE имеет смысл, пожалуй, только на начальном этапе создания поисковика. Далее удобней пользоваться инструментом. Указатель GoogLe (рис. 6.1). Он представляет собой дополнение к браузеру, с помощью которого можно быстро включать открытые в браузере сайты и отдельные веб-страницы в базу персонального поиска во время серфинга, не открывая сайта Google CSE. Установить его можно на страничке www.google.com/coop/cse/marker. Работа с ним очень похожа на добавление записей в онлайновый сервис закладок. На панель браузера добавляется новая кнопка, которая открывает всплывающее окно с формой описания сайта. В ней указываются персональный поисковик, в индекс которого мы хотим добавить сайт, и список тематических ярлыков, которые мы можем присвоить сохраняемому ресурсу. Настройкой таких ярлыков мы займемся немного позже. Кроме того, в данной форме есть возможность выбора между добавлением сайта целиком и добавлением только одной конкретной страницы сайта. Другими словами, нам предлагают автоматически сгенерировать маску, которая обеспечит включение в индекс только открытой в данный момент веб-страницы. К сожалению, возможности более гибкой работы с масками в этом диалоге нет. Поэтому, если вам понадобится указать не одну веб-страницу, а раздел сайта, придется обратиться к стандартному веб-интерфейсу Google CSE.

Рис. 6.1. Инструмент Указатель Google

Облегчить достаточно трудоемкую работу по заполнению индексной базы Google CSE помогает режим автоматического сбора ссылок с указанной веб-страницы. Этот режим, доступный в разделе Сайты панели управления поисковиком, называется динамическим извлечением страниц. Его можно включить как для уже присутствующей в списке веб-страницы, так и для нового добавляемого в систему сайта. После включения этого режима Google CSE просматривает исходную веб-страницу и добавляет в индекс поисковика все сайты, на которые с этой страницы ведут ссылки. Данный режим весьма удобен для сбора новых адресов из разделов полезных ссылок тематических сайтов или, допустим, с обновляемых лент новостей. В результате для того, чтобы ваша персональная база начала пополняться в автоматическом режиме, достаточно включить в область поиска хотя бы один-два сайта с обновляемым тематическим контентом. Необходимо обратить внимание, что такие ссылки не добавляются в индекс в виде самостоятельных записей. В индексе сохраняется только исходная ссылка, поэтому к автоматически собранным сайтам нельзя применять индивидуальную настройку.

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

Пожалуй, первый режим, который стоит включить в новом поисковике, – это режим назначения ярлыков-уточнений. Когда персональный поисковик становится достаточно крупным (несколько сотен сайтов), мы опять сталкиваемся с проблемой «длинного хвоста» результатов, которые, не попадая на первые страницы списка выдачи, оказываются невидимыми для пользователя. Решение этой проблемы – разделение общего индекса поисковика на несколько более узких по теме баз.

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

Как показывает практика, имеет смысл сразу предусмотреть нейтральный ярлык для сайтов, не подходящих ни под одну из уточненных категорий. Дело в том, что в системе Google CSE нельзя «оптом» отобрать записи, у которых нет ярлыков. Поэтому, если вы придумаете какую-либо новую тематическую категорию, придется вручную перебирать индекс в поиске «свободных» ссылок. Если же сразу отмечать их «нейтральным» ярлыком, то такие ссылки потом можно будет отобрать буквально парой щелчков мышью. Назвать такой ярлык можно просто Сайты.

Ярлыки настраиваются в разделе Уточнения панели управления Google CSE. Система уточнений способна работать в двух режимах, активирующихся при выборе пользователем на странице поисковика определенного тематического раздела Первый режим позволяет включать в результаты поиска только сайты, отмеченные конкретным ярлыком. Второй режим менее радикален: поиск ведется во всей базе, но сайты, отмеченные выбранным ярлыком, выводятся на первые позиции.

Любопытно, что Google ведет собственную единую базу тематических ярлыков, предназначенных для персональных поисковиков. Каждому включенному в такую базу «универсальному» ярлыку сопоставляются наиболее авторитетные и полезные, по мнению Google, веб-ресурсы. Использование базы таких ярлыков, как и многих других дополнительных инструментов Google Custom Search Engine, обеспечивает автоматизацию наполнения персонального поисковика новыми данными. Если мы применим в своем поисковике любой из универсальных ярлыков, то получим возможность автоматически добавить к своему индексу все привязанные к ярлыку тематические веб-ресурсы. Надо признать, что список таких универсальных ярлыков пока несколько эклектичен и не очень велик. Ознакомиться с ним можно по адресу www.google.com/coop/docs/cse/labels.html. Ярлыки разделены на тематические группы, например Автомобили, Компьютеры и игры, при этом каждая группа, в свою очередь, предлагает готовый набор ярлыков.

При желании можно принять участие в совершенствовании таких универсальных тематических разделов. Для этого сначала надо зарегистрироваться на странице www.google.com/coop/topics. Затем в списке ярлыков можно выбрать нужный и либо загрузить предварительно составленный XML-файл с описанием тематических ресурсов, либо добавить сайты вручную на странице сервиса Полученные данные будут обработаны и учтены при формировании списка рекомендуемых ресурсов.

Еще один способ ускорить работу по наполнению индекса персонального поисковика – пригласить для совместной работы других пользователей. Сделать это можно с помощью раздела Совместная работа. Для приглашений служат инвайты, рассылаемые по электронной почте. К сожалению, при совместной работе нескольких пользователей над одной системой отсутствует возможность правки записей, созданных другими пользователями. Нельзя даже удалить неудачные записи – только аккаунт соавтора. Это означает, что к выбору партнеров по работе нужно подходить достаточно ответственно.

Продолжить совершенствование поисковика можно путем настройки средств продвижения сайтов, обработки синонимов и автозаполнения запросов.

Раздел Продвижения позволяет выделить в индексе поисковика сайты, которые будут иметь безусловное преимущество при сортировке результатов поиска по определенным ключевым словам (рис. 6.2). Такие ссылки начнут появляться в отдельном блоке над общим списком выдачи Данный прием позволяет повысить точность работы поисковика, поскольку лучшие узкотематические сайты попадут на первые позиции вне зависимости от результатов работы алгоритмов ранжирования. В нашем тестовом поисковике такую роль могут сыграть сайты, целиком посвященные определенному типу летательных аппаратов или же персоналиям. При добавлении каждого «продвижения» указывается его название, адрес целевого веб-сайта, а также список ключевых слов, ввод которых включит режим продвижения в результатах поиска. Альтернативный способ продвижения – загрузка предварительно составленного файла описаний продвижений. Данный вариант подходит, если вам нужно загрузить несколько десятков, а то и сотен продвигаемых адресов. При меньших объемах удобнее использовать стандартные инструменты раздела Продвижения.

Рис. 6.2. Панель настройки механизма продвижений Google CSE

Настройка синонимов в Google CSE позволяет, в частности, качественно обрабатывать аббревиатуры, а также вести поиск не только по введенным пользователем ключевым словам, но и по их синонимам. Включается этот механизм в разделе Синонимы боковой панели Google CSE. Именно там можно создать список синонимов для запросов к вашей системе Если пользователь системы задействовал внесенное в этот список слово, то поиск автоматически проводится и по его синонимам. Создать список синонимов очень просто. Достаточно указать в предлагаемой форме ключевое слово или фразу, которая включит данный режим поиска, а также собственно список синонимов. Можно также самостоятельно создать по предлагаемым правилам файл с описаниями списка синонимов и загрузить его в свой персональный поисковик.

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

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

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

Доступны несколько макетов разметки виджета, а также готовых вариантов его цветового оформления. Поскольку за оформление отвечает технология CSS, можно самостоятельно изменить внешний вид виджета в соответствии с дизайном вашего сайта. Полученный в результате этих операций код виджета можно скопировать в разделе Получить код.

Форму персонального поиска также можно экспортировать в виде гаджета для сервиса iGoogle. В отличие от обычных виджетов, он содержит не только форму поиска, но и предоставляет быстрый доступ к настройке персонального поисковика.

Отслеживать использование готового и открытого для доступа персонального поисковика можно с помощью раздела Статистика. Здесь демонстрируется количество запросов к поисковику за день, неделю и месяц. Если этого недостаточно, можно перейти на отдельную страницу статистики, где доступны сведения о количестве запросов в диапазоне от одного часа до недели, а также выводится список наиболее популярных запросов к вашей системе поиска. Если система Google Custom Search Engine внедрена на внешнем сайте, для сбора статистики рекомендуется использовать инструменты Google Analytics.

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

Прежде чем вести речь о таких инструментах, необходимо сказать пару слов о внутреннем устройстве поисковика на базе Google CSE. Вся информация и параметры персональной системы хранятся в двух настроечных XML-файлах. Файл контекста содержит общие параметры поисковика. В файле аннотаций хранится перечень сайтов, включенных в индекс вашей системы, а также индивидуальные варианты настройки каждого из них. Работая с инструментами панели управления Google CSE, мы, по сути, занимаемся редактированием этих файлов.

Получить прямой доступ к XML-файлам персонального поисковика можно на вкладке. Дополнительно. Непосредственная правка настроечных файлов системы предоставляет заманчивые возможности, дающие полный контроль над поведением поисковика, однако требует хотя бы минимальных познаний в языке XML. Эти файлы можно скачать на свой компьютер, а после внесения правок загрузить на сервер Google, изменив тем самым индекс и настройку персональной системы.

Итак, файл контекста описывает базовые варианты настройки персонального поисковика, а файл аннотаций содержит полный список ссылок, включенных в персональную систему, а также их параметры. Таким образом, ручная настройка персонального поисковика состоит из двух этапов: сначала в «контекстном» файле мы определяем необходимые варианты настройки, а затем применяем их к конкретным адресам в файле аннотаций.

В настоящее время список поддерживаемых тегов не очень велик, однако результаты их применения весьма интересны. Наиболее востребованными командами при редактировании свойств персонального поисковика являются команды FILTER, ELIMINATE и BOOST.

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

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

Для этого сначала в XML-файле контекста необходимо найти раздел <Background Labels> и с помощью контейнера <Label></Label> создать новую метку с именем, допустим, Лучшие сайты. Следующий шаг – правка файла аннотаций. Здесь необходимо добавить созданную нами метку к тем сайтам, результаты с которых должны попасть на первые места списка выдачи Для этого к описанию нужных сайтов добавляется тег с именем нашей метки (Лучшие сайты) в качестве параметра.

После применения команды BOOST отмеченные данным тегом ресурсы в ходе отработки запроса будут получать преимущество по сравнению с теми сайтами, которые находились бы на первых строчках при обычном поиске в Google. В ее параметрах в виде численного значения устанавливается «вес» результатов из источника, к которому будет применена эта метка. Диапазон допустимых значений – от -1 до 1. Максимальное значение 1 означает, что результаты с определенного сайта всегда будут на первой позиции в списке выдачи Поскольку допускается применение дробных значений, данный инструмент обладает очень большой гибкостью. Применяя различные значения к определенным сайтам из списка ссылок нашего поисковика, мы можем гибко управлять его списком выдачи Эта возможность особенно удобна, если в ходе тестирования выясняется, что серьезный, но малоизвестный специализированный ресурс уступает место в первых строчках результатов стандартного поиска сборной «солянке» из популярного сетевого справочника или энциклопедии.

Возможность непосредственного манипулирования настроечными файлами открывает хорошие перспективы автоматизации работы с персональным поисковиком. Дело в том, что такие файлы можно готовить самостоятельно в удобных пользователю редакторах и загружать на сервер. Таким образом, например, можно не набирать весь список сайтов в онлайновой форме, а заранее подготовить и загрузить на сервер файл аннотаций с перечнем нужных сайтов и их свойствами. Кроме того, разработчики Google реализовали уникальный режим «связанного» поиска. В данном режиме настроечные файлы поиска импортируются из указанного вами внешнего источника. Это значит, что они, например, могут храниться на вашем собственном сайте или даже генерироваться любыми удобными вам средствами и динамически подгружаться на сервер Google при каждой отправке запроса с помощью формы поиска. В системе Google Custom Search Engine ставится ссылка на такие внешние файлы, и они подгружаются непосредственно при обращении пользователя к поисковику. В руках опытного разработчика такие внешние настроечные файлы становятся очень мощным средством работы с персональным поиском на базе Google, поскольку обрабатывать их можно любым удобным способом. В результате с их помощью можно решать самые сложные задачи по поддержке системы персонального поиска, вплоть до автоматизированной генерации вариантов настройки «на лету» (при обращении пользователя к поисковику). Кроме того, такой вариант будет полезен при создании и поддержке большого количества персональных поисковиков, а также при необходимости пополнения базы из нестандартных источников информации, например RSS-лент.

Для запуска системы связанного поиска требуется выполнить минимум операций. Сообщить системе Google CSE о необходимости использования внешних файлов аннотаций можно правкой расположенного на сервере Google XML-файла контекста своего поисковика. Для этих целей служит тег <Include>, в котором прописывается путь доступа к внешнему настроечному файлу. В настоящее время таким способом можно подключать к поисковику до 50 внешних файлов аннотаций. Протестировать работу системы можно с помощью мастера, расположенного по адресу www.google.com/coop/cse/cref. Если расположить форму поиска Google Custom Search на своем сайте, то в ее код потребуется добавить параметр cref и указать путь к внешнему XML-файлу аннотаций. При отправке запроса данный параметр будет передан системе Google CSE, и она загрузит нужные варианты настройки.

В разделе Индексирование доступна еще одна возможность для непосредственной работы с файлами персонального поисковика. Здесь вебмастера, желающие использовать систему Google CSE для организации поиска на собственных сайтах, могут загрузить в систему поиска предварительно созданный Sitemap-файл для своего сайта, который сделает индексирование сайта более точным. Можно загрузить до 50 таких файлов. Кроме того, можно указать отдельные страницы своего сайта, которые должны быть проиндексированы Google.

Данный текст является ознакомительным фрагментом.