Теперь необходимо проверить, в каком состоянии находятся сервисы индексирования и поиска. По умолчанию после старта. 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. Пример настройки поисковой формы на сервере
<Ь>Поиск:
Внешний вид страницы результатов в бесплатной версии аналогичен странице результатов Яндекса за исключением того, что результаты формируются лишь на основе проиндексированных страниц вашего ресурса. Никаких новостей, предложений Маркета, подсказок из словарей и энциклопедий здесь, конечно, нет. Как нет и рекламы. В платной версии вы, кроме всего прочего, можете изменить формат страницы результатов, подогнав его под дизайн вашего проекта.
В выдаче результатов для каждого из них есть две полезные ссылки, помимо ссылки на найденный документ.
□ По первой ссылке — найденные слова — откроется страница документа, код которой дополнен новой функциональностью. В начале и конце страницы добавлены ссылки для перехода на первое и последнее найденное в документе слово из запроса. Каждое слово выделено кнопками перехода на предыдущее или последующее найденное слово. С помощью этих указателей очень легко найти нужное даже в большом тексте.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии