Книга: Яндекс для всех

10.1.4. Запускаем Яndex.Server

10.1.4. Запускаем Яndex.Server

Определив, что должно присутствовать в конфигурационном файле, и настроив его, можно запускать программу. В зависимости от операционной системы команда запуска будет выглядеть различно, но мы рассматриваем вариант работы в OS Windows.

Яndex.Server в старших версиях Windows может работать в двух режимах — как сервис операционной системы и как консольное приложение. Если запустить программу с ключом — i, то программа запустится в качестве сервиса и управлять ею будет возможно через опцию Service панели управления либо с помощью команды NET. Для выгрузки сервиса нужно использовать другой ключ: — r.

Если запускать программу без ключей либо с ключом — d, программа будет запущена как консольное приложение. Остановить его можно будет со страницы администратора приложения (рис. 10.1).


Доступ к странице администратора происходит по адресу, определенному в конфигурационном файле. При этом должен быть указан порт, по которому разрешается доступ к сервису. Так, если порт доступа определен как 17000, а адрес сервиса — http://localhost/, то доступ к странице администратора будет выполняться по адресу http://localhost:17000/admin.

Теперь необходимо проверить, в каком состоянии находятся сервисы индексирования и поиска. По умолчанию после старта. Hndex.Server индексатор находится в остановленном состоянии, а поисковый сервер при наличии индексных файлов автоматически стартует. Если индексные файлы отсутствуют, то веб-сервер продолжает работать, но на поисковые запросы отвечает, что поисковый сервис остановлен. Поэтому перед первым стартом поискового сервера необходимо запустить индексатор и дождаться, пока он завершит построение индексных файлов. Откройте в браузере веб-страницу http://localhost:17000/admin и нажмите на кнопку Запустить, расположенную рядом с заголовком Индексатор: остановлен. Дождитесь окончания процесса индексирования. После окончания индексирования в подкаталоге workindex рабочего каталога должны быть созданы шесть файлов, имеющих ненулевую длину — indexcfg, indexinv, indexkey, indexdir, indexarc, indexdat.

На веб-странице http://localhost:17000/admin нажмите на кнопку Запустить, расположенную рядом с заголовком Поиск: остановлен. Теперь страница http://localhost:17000/ содержит форму для поиска.

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

Работа с поиском

Остался последний шаг — проверить, правильно ли работает поисковый сервер. Самый простой вариант — открыть страницу по адресу http://localhost:17000/.

Яндекс-сервер ожидает поступления HTTP-запросов по указанному в конфигурации сервера порту. Он анализирует запрошенные URL и запрос (часть URL после знака вопроса, содержащую значения полей поисковой формы), выполняя перечисленные далее действия в указанном порядке.

? Во-первых, выполняется проверка, происходит ли обращение к административной части сервера или нет:

• если путь совпадает со строкой /admin, сервер выдает административную страницу;

• если путь начинается с подстроки /images/, сервер выдает статическую картинку;

• если путь начинается с подстроки /hl, сервер показывает "подсвеченный" документ, указанный в поле запроса url, в котором выделены слова, релевантные запросу, содержащемуся в поле text.

? Во-вторых, выполняется анализ запроса на наличие в нем дополнительных параметров группирования.

? И, наконец, если запрос не отправляется на Яндекс и не является управляющим для работы сервера, он обрабатывается для передачи на выполнение сервером. Для этого вызывается функция UserRequest, которая должна сформировать текст поискового запроса на языке запросов Яндекса. Действия, выполняемые в этой функции, обычно сводятся к преобразованию значений некоторых полей поисковой формы в текст поискового запроса. Реализация функции UserRequest по умолчанию использует в качестве поискового запроса значение поля text и может быть изменена в процессе настройки сервера.

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

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

Листинг 10.5. Пример настройки поисковой формы на сервере

<! — форма поиска —>

<form name="search" method="get" action="http://www.my_site.ru:17000/">

<Ь>Поиск:</b><br>

<input size="15" name="text" value="" maxlength="200"> <input type="submit" value=" Найти ">

</form>

Страница результатов

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

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

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

? Вторая ссылка позволяет выполнить поиск документов, похожих на найденный. Поиск выполняется на основе алгоритмов Яндекса, таких же, какие применяются в поиске "большого" Яндекса.

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

Примеры использования

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

Среди таких ресурсов — официальный сайт Президента России (http://www.kremlin.ru) (рис. 10.2), РИА Новости (http://rian.ru/), CNews (http://cnews.ru/), "Альфа-Банк" (http://www.alfabank.ru/), Билайн (http://beeline.ru/), Энциклопедия "Кругосвет" (http://krugosvet.ru/) и многие, многие другие ресурсы.


Применяется Яndex.Server и в локальных сетях, например, в таком варианте его использует Банк Москвы (http://mmbank.ru/), Компания "РУСАЛ" (http://rusal.ru/) и др.

Оглавление книги


Генерация: 1.298. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз