В данной документации термин документ используется для обозначения предмета поиска. Документ содержит сведения, нужные пользователю. Результат поискового запроса представляет собой список документов, возможно разбитый на группы, и для каждого документа в списке найденных документов известен некоторый набор свойств, таких как заголовок или релевантность запросу. В процессе выполнения запроса поисковая система читает заранее подготовленные индексные файлы, поэтому, чтобы попасть в результат запроса, документ должен быть предварительно проиндексирован.
Все индексные файлы располагаются в одной директории, по умолчанию это ./workindex. В одной директории может быть расположен только один набор индексных файлов, который в дальнейшем будем также называть индексом. Имена индексных файлов начинаются одинаково префиксом index.
Для каждого слова в документе запоминается его позиция в виде идентификатора документа, номера предложения и номера слова в предложении. Список таких пар (слово-позиция) хранится в файлах indexinv и indexkey. В этих же файлах хранятся зоны и атрибуты документов, используемые при поиске по зонам и атрибутам (например, html-заголовок или подпись к картинке), а также некоторая служебная информация. Кроме того, в файлах indexarc и indexdir по умолчанию сохраняется текст документов без элементов форматирования. Эта информация используется при поиске, если требуется получать отрывки текста документа, содержащие найденные слова. Наконец, могут быть созданы необязательные файлы indexatr и indexaof, которые содержат информацию о группировочных атрибутах документов. Наличие этих файлов позволяет группировать и сортировать найденные документы по значению атрибута.
Каждый проиндексированный документ характеризуется уникальным URL (Uniform Resource Locator). Документы, имеющие разные URL, в данной версии программы считаются разными. В процессе своей работы индексатор сначала получает URL документа, который должен быть проиндексирован, а затем содержимое этого документа. Существуют разные способы получения URL документа и его содержимого. Понимание этих способов необходимо для правильного использования директив настройки индексатора.
Существует три способа получения содержимого документа при индексировании и подсветке найденного:
Чтение файлов, доступных в локальной сети, где работает индексатор, используя протоколы операционной системы.
Обращение к веб-серверам по протоколу HTTP.
Обращение к произвольному внешнему источнику данных по специальному протоколу, реализованному в модуле связи с источником данных.
Существует три способа получения URL:
Считываются указанные в конфигурационном файле оглавления файловых директорий, доступных в локальной сети, где работает индексатор. Чтобы получить URL, префиксы считанных путей заменяются по заданным в настройках правилам. Очевидно, что URL, сформированные этим способом, не могут содержать CGI-параметров.
Индексатор получает новые URL в результате распознавания гипертекстовых ссылок в тексте уже проиндексированных документов. Этот способ известен под именем «поисковый робот» или «паук» и применяется поисковыми системами Интернета. Чтобы начать работу, индексатору требуются начальные URL, которые он или получает из конфигурационного файла, или использует URL, заданные первым способом.
В случае, если с индексатором используются внешние источники данных, список URL, которые нужно проиндексировать, предоставляется модулем связи с источником данных в виде произвольных текстовых строк, уникально идентифицирующих документ из внешнего источника данных. Пользователю поискового сервиса в этом случае показывается модифицированный URL со схемой http, соответствующий скрипту поискового сервиса или ссылке на веб-сервер, предоставленной модулем связи с источником данных.
Индексатор может индексировать документы, URL которых получены одним или несколькими из указанных способов. В смешанном случае, сначала обновляется индекс документов, которые были проиндексированы в предыдущем сеансе индексирования. Затем индексируются новые документы из внешнего источника данных, если такие есть. Затем индексируются новые документы, урлы которых получены чтением файловых директорий, если такие есть. Наконец, индексируются новые документы, урлы которых получены распознаванием гипертекстовых ссылок в документах, проиндексированных на предыдущем этапе, или указанных в качестве начальных ссылок в конфигурационном файле.
Область индексирования - это множество документов, индексируемых с единым набором параметров. Каждый внешний источник данных целиком соответствует одной области индексирования. Области индексирования для остальных документов задаются префиксом URL, то есть все документы, URL которых начинается с заданного префикса, принадлежат одной области индексирования. Области индексирования могут быть вложенными. В этом случае область индексирования, заданная более длинным префиксом, наследует все свойства "родительской" области, если они явно не переопределены. Все свойства областей индексирования, то есть параметры индексирования соответствующих документов, задаются в конфигурационном файле.
Свойства областей индексирования. Для каждой области индексирования могут быть заданы режим получения URL документа, режим получения содержимого документа, включая конфигурацию HTTP-заголовков и прокси-серверов для документов, получаемых по HTTP-протоколу, режим обновления индекса, кодировка символов, используемая в документах, набор атрибутов, значения которых можно использовать, например, в качестве критериев поиска. Если в области индексирования URL-ы документов определяются чтением оглавленния локальных директорий, или содержимое документов получается чтением файлов в локальной сети, то для этой области индексирования должен быть задан соответствующий ей локальный путь (локальная директория). При этом локальный путь для документов из этой области индексирования определяется заменой префикса URL документа, совпадающего с URL области индексирования, на локальный путь указанной директории. Свойства областей индексирования, включая локальные пути, задаются в секциях IndexedArea конфигурационного файла. Как специальный случай областей индексирования рассматриваются внешние источники данных, свойства которых задаются в секциях DataSource.