Данная версия Яndex.Site может работать под управлением операционных систем MS
Windows 95 и MS Windows NT и любого WEB-сервера, корректно реализующего CGI
протокол. Для управления системой Яndex.Site используется DCE RPC ncalrpc
протокол (MS Windows 95) и DCE RPC ncacn_np протокол (MS Windows NT).
3.2.1. Запуск индексатора и поискового сервера
Конфигурационный файл Yandex.ini описывает все
существующие в Яndex.Site поисковые машины. Каждая отдельная поисковая машина
описана в своем конфигурационном файле, что позволяет настраивать каждую
поисковую машину независимо.
Яndex.Site является сервисным приложением, то есть запускается
при загрузке операционной системы и до входа в систему первого пользователя. При
смене пользователя, работающего в системе, Яndex.Site не выгружается. Для
проверки корректности конфигурационных файлов предусмотрена возможность запуска
системы Яndex.Site как обычного консольного приложения.
После запуска Яndex.Site проверяет корректность
конфигурационных файлов и выводит сообщения о возможных ошибках в протокол
событий (для MS Windows NT), файл yandex.err (для MS Windows 95) или консоль
(отладочный режим). При обнаружении фатальных ошибок в конфигурационном файле
Яndex.Site выгружается. После анализа главного конфигурационного файла
Яndex.Site запускает поисковые машины, для которых установлен флаг
автоматического запуска. Сообщения о возможных ошибках при запуске поисковых
машин выводится в протокол этих поисковых машин или, если протокол поисковой
машины не может быть открыт (например, если в конфигурационном файле машины не
указан файл протокола, или если конфигурационный файл вообще не найден), в
протокол Яndex.Site.
В дальнейшем работа Яndex.Site (в том числе и поиск документов)
управляется входящими в состав поставки приложениями с применением RPC-протокола
(удаленный запуск процедур). Эти приложения можно использовать и как обычные
консольные приложения и как CGI-приложения.
3.2.1.1. Программа Yandex.exe
В состав системы входит программа Yandex.exe, являющаяся
сервером поисковых машин, и ряд приложений, предназначенных для управления
поисковыми машинами.
Программа Yandex.exe имеет три ключа:
1. Ключ -i устанавливает Yandex.exe как сервисное
приложение операционной системы. После установки Yandex.exe завершается. Запуск
Yandex.exe производится после перезагрузки операционной системы и до входа в
систему первого пользователя. Для MS Windows NT запуск и остановка Yandex.exe
может быть осуществлена посредством приложения Service панели управления.
2. Ключ -r отменяет установку Yandex.exe как
сервисного приложения операционной системы. После отмены Yandex.exe завершается.
3. Ключ -d запускает Yandex.exe как обычное
консольное приложение. Полезен при отладке конфигурации.
При запуске Yandex.exe без ключей
- под MS Windows NT программа выводит сообщение об ошибке и завершается
- под MS Windows 95 работает как сервисное приложение
3.2.1.2. Управляющие приложения системы Яndex.Site
Все управляющие приложения могут быть использованы как обычные
консольные приложения и как CGI-приложения.
1. Status.exe
Приложение предназначено для печати состояния поисковых машин.
Для каждой машины, определенной в конфигурационном файле, указывается ее имя и
один или несколько из следующих флагов состояния:
- Idle - поисковая машина не запущена;
- Searching - поисковая машина запущена для поиска;
- Indexing - поисковая машина запущена для индексирования.
2. Shutdown.exe
Приложение предназначено для остановки сервера поисковых машин.
Для MS Windows 95 это единственный способ корректного завершения работы без
выключения машины. Для MS Windows NT аналогичное действие может быть выполнено
посредством приложения Service панели управления.
Описанные ниже приложения управляют работой конкретной
поисковой машины. Для задания имени поисковой машины может быть использован один
из следующих способов:
- если приложение запускается как консольное, то имя машины задается
параметром приложения;
- если приложение запускается как CGI-приложение, то имя машины может быть
задано в компоненте "дополнительный путь" (PATH_INFO) URL;
- если приложение запускается как CGI-приложение, то имя машины может быть
задано в компоненте "поисковая строка" (QUERY_STRING) URL в формате
server= < имя машины > .
3. Indexon.exe
Приложение запускает индексатор поисковой машины. Успешное
завершение приложения свидетельствует только об успешном начале индексирования.
Если в процессе индексирования или при запуске индексатора появляются ошибки, то
запись о них помещается в протокол индексирования поисковой машины.
4. Indexoff.exe
Приложение предназначено для аварийного завершения
индексирования. Аналогичное действие оказывает и перезагрузка компьютера.
5. Srchon.exe
Приложение предназначено для запуска поиска на поисковой
машине. При возникновении ошибок запись о них помещается в протокол поиска
поисковой машины. Если в конфигурационном файле поискового сервера для машины
указан флажок auto, то поиск запускается автоматически.
6. Srchoff.exe
Приложение предназначено для остановки поиска на поисковой
машине.
7. QueryCGI.exe и QueryISA.dll
Приложения являются соответствено CGI и ISAPI приложениями,
непосредственно осуществляющими поиск посредством поисковой машины. Порядок
использования приложений приведен в поисковой странице Search.htm, входящей в
состав поставки.
3.2.2. Конфигурационные файлы Яndex.Site
Для настройки параметров системы необходимо отредактировать
входящие в состав дистрибутива файлы Yandex.ini и Default.ini
. Формат конфигурационных файлов Яndex.Site является стандартным для MS
Windows форматом конфигурационных файлов.
1. Работа Яndex.Site управляется конфигурационным файлом
YANDEX.INI, который должен находиться в корневом каталоге Яndex.Site (в
каталоге, в котором находится программа YANDEX.EXE). Если этот файл отсутствует,
то программа YANDEX.EXE после запуска выдает соответствующее сообщение и
завершает свою работу.
Файл содержит одну секцию - [Servers],
в которой находится один или несколько ключей вида:
< имя поисковой машины > = < имя конфигурационного
файла > [, auto]
где < имя поисковой машины > - произвольное имя, которое
присваивается поисковой машине. Это имя в дальнейшем будет использоваться для
управления этой поисковой машиной, в том числе для поиска с ее помощью. Имя
может состоять из латинских букв и цифр. Если используется только одна поисковая
машина, рекомендуется имя Default.
< имя конфигурационного файла > - полное имя (включая имя
устроиства и полный путь) конфигурационного файла описываемой поисковой машины.
Если используется только одна поисковая машина, то удобно описать ее
конфигурацию в файле YANDEX.INI. В этом случае < имя конфигурационного файла
> должно совпадать с полным именем YANDEX.INI.
auto - необязательный флажок, при наличии которого поисковая
машина автоматически запускается при запуске Яndex.Site.
2. Файл(ы), описывающий конфигурацию поисковых машин, состоит
из следующих секций: [Main], [Parsers], [Virtual Robots], [Special Folders],
[Protocol] . Секция [Special Folders] является необязательной.
3.2.2.1. Секция [Main]
Эта секция содержит основные параметры настройки Яndex.Site и
должна присутствовать обязательно. Некоторые ключи секции имеют значение по
умолчанию и могут отсутствовать, все остальные - обязательны.
Обязательные ключи:
1. Имя сервера: Host
Ключ определяет имя хоста, который обслуживает поисковая
машина.
Пример: Host = www.comptek.ru
2. Имя поискового приложения: Script
Ключ задает полное имя на WEB-сервере поискового приложения,
ссылки на которое поисковая машина помещает в выходные формы. Дополнительный
путь определяет имя поисковой машины.
Пример: Script=/Scripts/QueryCGI.exe/Default
В этом примере /Scripts/QueryCGI.exe - имя приложения,
а Default - имя поисковой машины.
3. Каталог хранения результатов:
CacheFolder
Ключ задает каталог, в котором поисковая машина будет хранить
результаты запросов и выходные формы. Указанный каталог должен существовать.
Нельзя назначать один и тот же каталог для разных поисковых машин.
Пример: CacheFolder = c:/yandex/cache
4. Каталог хранения индекса:
DBaseFolder
Ключ задает каталог, в котором поисковая машина создает индекс
документов. Указанный каталог должен существовать. Нельзя назначать один и тот
же каталог для разных поисковых машин.
Пример: DBaseFolder = c:/yandex/dbase
5. Каталог картинок: Images
Ключ задает имя каталога на WEB-сервере, в котором находятся
картинки, используемые поисковой машиной при генерации выходных форм.
Пример: Images = Images
6. Если в качестве WEB-сервера используется Baikonur Web App
Server(r) компании Epsylon Technologies, то дополнительно должен быть определен
ключ
Baikonur.Section
Ключ задает имя секции Baikonur, обслуживаемой поисковой
машиной.
Остальные ключи:
7. Пропуск файлов: FileFilter
Ключ предназначен для борьбы с некоторыми HTML-редакторами,
оставляющими после себя мусор в рабочем каталоге. Файлы, удовлетворяющие <
регулярному выражению > (значению ключа), не будут индексироваться.
Пример: FileFilter = _.*|.*tmp.*[.]htm
Приведенный в примере фильтр исключает из процесса
индексирования файлы, имена которых начинаются с подчеркивания, и файлы с
расширением .HTM, содержащие в имени строку "TMP".
8. Пропуск каталогов: FolderFilter
Ключ исключает из процесса индексирования каталоги (со всеми их
подкаталогами), имя которых удовлетворяет поисковому выражению.
Пример: FolderFilter = _.*|temp
Приведенный в примере фильтр исключает из процесса
индексирования каталоги, имена которых начинаются с подчеркивания, и каталоги с
именем TEMP.
9. Стоп-Слова: StopList
Ключ задает полное имя файла, содержащего
список стоп-слов. Параметр может отсутствовать.
Пример: StopList = c:/yandex/stopword.lst
10. Порт: Port
Значение по умолчанию: 80
Ключ определяет номер порта, который используется WEB-сервером.
Пример: Port = 80
11. Время существования запроса: UserTimeout
Значение по умолчанию: 30
Ключ указывает, через сколько минут после последнего обращения
удаляется запрос пользователя. Если запрос удален, то пользователю вместо
выходной формы посылается соответствующее сообщение("Результат предыдущего
запроса уже удален").
Пример: UserTimeout = 10
3.2.2.2. Секция [Parsers]
Секция определяет типы документов, которые должны быть
проиндексированы, и имена интерпретаторов для каждого типа документов. Ключами
секции являются имена интерпретаторов, значением ключей - список соответствующих
им расширений файлов документов, разделенных запятыми. С текущей версией
Яndex.Site поставляются интерпретаторы HTML и текстовых документов. Их имена -
PRSHTML и PRSTEXT соответственно.
Пример: PRSHTML = .htm,.html
3.2.2.3. Секция [Virtual Roots]
Если в качестве WEB-сервера используется Baikonur Web App
Server(r) компании Epsylon Technologies, то данная секция игнорируется. Для
остальных WEB-серверов секция является обязательной и описывает структуру
каталогов WEB-site'а. Ключами секции являются имена каталогов site'а, а
значениями ключей - соответствующие им каталоги файловой системы. Таким образом,
записи секции имеют вид:
< каталог site'а > = < каталог файловой системы
>
Пример:
/ = c:/webshare/wwwroot
/OurCompany/products = u:/doc/current/products
В
приведенном примере корневым каталогом site'а является каталог
c:/webshare/wwwroot, а каталогом /OurCompany/products является каталог
u:/doc/current/products.
При заполнении этой секции нужно быть предельно внимательным,
поскольку неправильное определение ключей может привести к тому, что не все
документы site'а будут находиться поисковой машиной и наоборот, документы,
доступ к которым через WEB-сервер запрещен, могут стать доступными через
поисковую машину.
3.2.2.4. Секция [Special Folders]
Секция является необязательной. В ней описываются каталоги,
алгоритм индексирования которых отличается от стандартного. Стандартный алгоритм
индексирования обходит все каталоги site'а (описанные в секции [Virtual
Roots] ), удаляет из индекса документы, удаленные со времени последнего
индексирования, и индексирует измененные и вновь появившиеся документы. При этом
для чтения документов используется файловая система и предполагается, что
кодировкой документов является WIN 1251.
Чтобы изменить этот алгоритм для некоторых каталогов в секцию
включаются записи, ключом которых является имя каталога site'а, а значением -
список описанных далее флажков. Такая запись действует как на сам каталог, так и
на все его подкаталоги, для которых явно не указаны другие значения флажков.
Флажки в списке разделяются запятыми. Имя флажка может быть сокращено до
минимального числа букв, по которым его однозначно можно отличить от других
флажков (одной буквы). При описании флажков такое сокращенное имя выделяется
квадратными скобками.
Все флажки делятся на три группы, каждая состоит из
взаимоисключающих флажков. Если в записи, соответствующей каталогу, встречается
более одного флажка из группы, то все кроме последнего игнорируются. В описании
в каждой группе флажок по умолчанию выделен значком *.
Группа 1. Флажки, определяющие доступ к документам
[h]ttp - использовать для чтения документов
WEB-сервер.
Флажок применяется для каталогов, содержащих документы, которые
изменяются при передаче WEB-сервером (например, активные (ASP) документы).
[f]ile* - использовать для чтения документов
файловую систему.
Группа 2. Флажки, определяющие алгоритм обновления индекса
Действие флажков группы приведено в следующем списке:
[r]eindex - убирать из индекса удаленные документы
и индексировать все существующие документы, даже если дата изменения осталась
прежней. Обычно флажок используется совместно с флажком http
(группа 1) для индексации активных документов. Если вся активность
документов заключается только в использовании операторов типа include, то для
каталогов, содержащих такие документы, устанавливается флажок update
(см. ниже), и только для индексации после изменения включаемых документов
устанавливается флажок reindex .
[e]xclude - исключить каталог из пути
индексирования. Флажком помечаются каталоги, документы которых Вы не хотите
индексировать.
[u]pdate* - удалять из индекса отсутствующие
документы и переиндексировать документы с измененной датой.
[s]kip - пропускать каталоги при индексировании,
не удаляя из индекса лежащие в них документы. Флажок применяется для каталогов,
документы в которых не меняются (например, архивов), и для временно недоступных
каталогов.
Группа 3. Флажки, определяющие кодировку документов
[w]in* - стандартная кодировка; [a]lt
- альтернативная кодировка; [k]oi - код КОИ-8
Группа 4. Флажки задания раздела
[t]opic: - включить каталог (и все подчиненные)в
раздел ( -[t]opic: - исключить каталог из раздела)
Синтаксис:
t:[имя_атрибута]=[значение_атрибута]
Пример:
/our_company=skip,koi,t:subtree=ourcompany,t-:subtree=news
При изменении конфигурации разделов необходимо
переиндексировать базу.
3.2.2.5. Секция [Protocol]
Секция определяет имена файлов, в которые
поисковая машина записывает протокол работы и сообщения об ошибках. Секция
содержит следующие ключи:
1. Протокол индексирования: Index
Ключ определяет полное имя файла, в котором ведется протокол
индексирования.
Пример: Index = c:/yandex/default_i.txt
2. Протокол поиска: Search
Ключ определяет полное имя файла, в котором ведется протокол
поиска.
Пример: Search = c:/yandex/default_s.txt
|