CNSearch - FrontEnd
Фронтенд - это часть поисковой системы, устанавливаемая на сервере, и производящая поиск по поисковому индексу. Для работы фронетенда достаточно трех файлов:
- files.cns - описание всех документов, занесенных в поисковый индекс.
- index.cns - собственно, сам поисковый индекс.
- docs.cns - списки соответствий.
Обычно фронтенд (файл saerch или search.exe) должен находится в каталоге /cgi-bin/ и сервер должен иметь права на его запуск. В этом же каталоге должны находится три файла, которые создал индексатор, и список которых приведен выше.
Поисковое слово передается как значение параметра "q". Например:
http://www.site.ru/cgi-bin/search?q=find+this
Зная это, вы можете сами создать поисковую форму, по своему вкусу и усмотрению. Самый простой вариант выглядит следующим образом:
<form action="/cgi-bin/search" method="get"> <input type="text" name="q" value=""> <input type="submit" value="Искать"> </form>
Работа с шаблонами страницы с результатом поиска.
Вы можете создавать шаблоны для изменения внешнего вида страницы с результатом поиска.
Далее говоря о шаблонах мы будем упоминать "search.exe" - как имя поисковой программы (фронтенда), для UNIX версии это имя будет просто "search", так что при работе в Unix/Linux не забывайте убирать ".exe". Если вы используете шаблон полученный вместе с дистрибутивом программы, то можете не волноваться - там все правильно.
Шаблон документа с результатами поиска хранится в файле search.php в каталог с поисковой программой - search.exe (или search для Unix/Linux). Шаблон представляет из себя обыкновенный HTML документ и состоит из четырех частей:
- Шапка (верхняя часть документа)
- Шаблон результат поиска для одного найденного документа. (начинается с "<!-- result start -->" и заканчивается "<!-- result end -->")
- Шаблон для ошибки "Ничего не найдено". (начинается с "<!-- notfound start -->" и заканчивается "<!-- notfound end -->")
- Завершающая часть (низ) документа.
Части местами менять не следует. В шаблоне можно использовать следующие специальные символы:
- %Q - текст запроса
- %O - Количество найденных документов
- %N - Номер найденного документа
- %U - URL найденного документа
- %T - Название найденного документа
- %S - Соответствие (если не строгое, то выводится, иначе ничего не выводит)
- %R - Релевантность найденного документа
- %E - Описание найденного документа
- %D - Дата обновления найденного документа
- %C - Кодировка найденного документа
- %F - Название поискового скрипта
Пример шаблона:
<HTML>
<HEAD>
<TITLE>Search results - %Q</TITLE>
</HEAD>
<BODY>
<table width=400 height=40 align=center bgcolor=#C0C0C0>
<form action=%F method=get><tr><td align=center>
<input type=text name=q size=40 maxlength=64 value="%Q">
<input type=submit value="искать">
</td></form></tr></table>
Найдено документов: %O
<!-- result start -->
<HR>
<UL>
<LI>%N. <a href=%U target=_new>%T</A>
<small><font color=red>%S</font> [Релевантность: %R]</small>
<UL>
<LI>%E
<LI>%D
<LI>%C
<LI><a href=%U target=_new>%u</A>
</UL>
</UL>
<!-- result end -->
<!-- notfound start -->
<P><font color=red>%Q not found</font>
<!-- notfound end -->
</BODY>
</HTML>
