| | Конфигурационный файл индексатора
Секция Collection
В этом разделе описаны директивы, относящиеся к процессу индексирования в целом. Если какая-либо директива отсутствует в секции Collection, для соответствующих параметров будут использованы указанные значения по умолчанию.
Директивы секции Collection
| Директива |
Описание |
Значение |
|
WorkDir
|
Рабочий каталог. Должен быть указан абсолютный путь или путь относительно каталога, из которого запущен индексатор. Если в других директивах конфигурационного файла заданы относительные пути, они будут приведены к абсолютным относительно этого каталога.
Для поискового модуля директива WorkDir задается в секции Server.
|
Значение по умолчанию:каталог, из которого запущен индексатор. |
|
IndexDir
|
Каталог, в котором будут размещены вновь созданные индексные файлы. Должен быть указан (абсолютный путь или путь относительно WorkDir). Если каталог отсутствует, будет сделана попытка ее создать. Если в указанном каталоге находятся рабочие индексные файлы, созданные при предыдущем индексировании ("старый индекс"), они будут учтены при построении нового индекса в соответствии с аргументами других директив конфигурационного файла, и заменены новым индексом перед окончанием работы индексатора. В противном случае индекс будет создан заново, а ключи, относящиеся к режиму обновления индекса, проигнорированы. |
Значение по умолчанию:
./workindex.
Пример:
|
|
TempDir
|
Каталог, в котором будут храниться временные данные, необходимые индексатору (абсолютный путь или путь относительно WorkDir). Если каталог отсутствует, будет сделана попытка ее создать. После окончания индексирования временные файлы удаляются. Сформированный индекс помещается в IndexDir.

- TempDir и IndexDir должны быть различны.
- TempDir и IndexDir должны располагаться в одном разделе файловой системы (Unix) или на одном логическом диске (Windows).
|
Значение по умолчанию:
./newindex.
Пример: TempDir : /var/tmp/yandex
|
|
MorphFixFile
|
Путь к файлу, который содержит правильное морфообразование слов, отсутствующих в словаре. |
Значение по умолчанию: не задан. Пример см. ниже. |
|
GlobalOptions
|
Директива, которая позволяет определить параметры индексирования. Может иметь несколько аргументов, которые разбиты на группы. Внутри каждой группы аргументов, указанных ниже, нужно выбрать один. |
|
|
PortionDocCount
|
Определяет максимальное число проиндексированных документов для хранящейся в памяти порции индекса. Чем больше это число, тем быстрее происходит индексирование, но объем памяти, требуемый индексатору, возрастает. При достижении максимального размера порция индекса записывается на диск в каталог, указанный в директиве TempDir, и в памяти создается новая порция. Все временные порции индекса сливаются в итоговый индекс на заключительном этапе индексирования. |
Значение по умолчанию: 10000. |
|
DocProperty
|
Директива имеет один или несколько аргументов, каждый из которых задает имя документного поискового атрибута, значение которого должно быть сохранено в архиве документов (см. раздел Документы, зоны и атрибуты). Имена и критерии, определяющие эти атрибуты, задаются в конфигурации парсера, а значения определяются во время индексирования документа (см. раздел Конфигурирование поисковых зон и атрибутов).
Дополнительно к атрибутам, указанным в данной директиве, в архиве документов автоматически сохраняются особые зоны и атрибуты (см. подробности в разделе Особые названия зон и атрибутов).
Значение каждого документного атрибута, сохраненного в архиве документов, может быть получено на странице с результатами поиска с помощью функции DocProperty.
Суммарный объем значений атрибутов, указанных в данной директиве, заголовка, аннотации и URL документа не может превышать 8 Кб.
|
|
|
PassageProperty
|
Директива имеет один или несколько аргументов в формате zone#attr, каждый из которых задает имя документного поискового атрибута attr поисковой зоны zone, значение которого должно быть сохранено в архиве документов для каждого вхождения поисковой зоны zone. Пример см. ниже. |
Значение по умолчанию: не задан. |
|
Groups
|
Директива имеет один или несколько аргументов, каждый из которых задает имя документного поискового атрибута, из которого должен быть автоматически создан группировочный атрибут (см. раздел Документы, зоны и атрибуты).
Группировочные атрибуты являются целыми числами и дают возможность сгруппировать или отсортировать найденные документы по критериям, не зависящим от текста документа (см. раздел Сортировка и группировка найденных документов).
Если значения поисковых атрибутов, определенных в настройках парсера, являются целыми числами или последовательностью целых чисел, то значения группировочных атрибутов будут такими же. Для литеральных поисковых атрибутов из директивы Options значения группировочных атрибутов будут генерироваться автоматически. Группировочные атрибуты хранятся в файлах типа: имя_атрибута.c2n.
В каждом аргументе директивы сразу после имени атрибута через двоеточие может быть указано одно из чисел 1, 2, 3, 4, означающее максимальное число байт, которое может занимать значение данного атрибута. Значение по умолчанию - 4. Указание меньшего числа уменьшает размер базы группировочных атрибутов.
|
|
|
NavigationSource
|
Путь к файлу, который содержит навигационный источник.
Формат файла:
Текст_запроса URL Действие
Текст_запроса URL Действие
...
Действие:
- 1 - переместить URL в начало выдачи.
- -1 - переместить URL в конец выдачи.
Разделитель полей: табуляция (\t).
Разделитель строк: новая строка (\n).
Кодировка файла: только Windows-1251.
|
Значение по умолчанию: не задан. Пример см. ниже. |
Пример
Путь к данному файлу определяется в директиве MorphFixFile.
#Заголовок содержит номер версии и кодировку (однобайтовую или UTF-8).
#Номер версии и кодировка могут отсутствовать,
#тогда по умолчанию кодировка = yandex, версия = 0
Version: 1
Encoding: windows-1251
#Зона языка начинается с имени языка в квадратных скобках на отдельной строке.
#Каждая строка в зоне языка - формы одной леммы, через пробел или запятую.
#Восклицательный знак перед формой означает,
#что эту форму можно рассматривать как лемму.
[Russian]
!автоваз автоваза автовазу автовазом автовазе !автовазы автовазов автовазам автовазами автовазах
[English]
!am
[Ukrainian]
!вісімдесятий !вісімдесяте вісімдесятого вісімдесятому вісімдесятим вісімдесятім !вісімдесята вісімдесятої вісімдесятій вісімдесяту вісімдесятою !вісімдесяті вісімдесятих вісімдесятими
Пример
Путь к данному файлу определяется в директиве NavigationSource.
Кодировка файла: только Windows-1251, прочие не поддерживаются.
Бразилия http://dhcp172-110-red.yandex.net/suit1.html 1
КНР http://dhcp172-110-red.yandex.net/suit3.html -1
Аргументы директивы GlobalOptions
Внутри каждой группы аргументов GlobalOptions, указанных ниже, нужно выбрать один.
| Аргумент |
Описание |
Значение |
|
Построение ссылочного индекса
|
|
StoreLinkIndex
|
При индексировании документов коллекции учитываются междокументные ссылки.
Ссылочный индекс сохраняется в каталоге IndexDir в индексных файлах вида index.ref*.
|
Значение по умолчанию: не задан. |
|
Использование старого индекса
|
|
Update
|
Если в каталоге, заданном в IndexDir, существует индекс, созданный при предыдущем индексировании, то будет производиться доиндексация: новые документы будут добавляться, измененные будут переиндексироваться, удаленные будут удалены, а неизменные останутся в текущем состоянии. |
|
|
Reindex
|
Индекс создается заново. Старый индекс удаляется. |
Значение по умолчанию: Update. |
|
Сохранение документных архивов
|
|
StoreArchive
|
При индексировании текст документов сохраняется без элементов форматирования. Эта информация используется во время поиска при получении отрывков текста документа, содержащих найденные слова. Архив с сохраненными текстами может иметь размер до 30-40% от суммарного размера индексируемых документов. |
|
|
DiscardArchive
|
Не сохранять текст индексируемых документов. Используется для уменьшения объема индексных файлов и увеличения скорости индексирования в случае, если показывать фрагменты текста с найденными словами не требуется. Однако, если в настройках поиска задана директива DownloadMissingPassages, отсутствующий текст будет загружен для найденных документов. |
Значение по умолчанию: StoreArchive. |
|
Анализ частотных распределений слов
|
|
AnalyseWordFreqs
|
Задает режим анализирования частотных распределений слов в документе с целью повышения качества ранжирования. |
|
|
IgnoreWordFreqs
|
Анализ частотных распределений не производится. |
Значение по умолчанию: IgnoreWordFreqs |
|
Сохранение даты индексирования
|
|
StoreIndexingDate
|
Для каждого индексируемого документа создается поисковый документный атрибут с именем idate, типом DATE и значением даты и времени последнего индексирования документа. Поисковые атрибуты обсуждаются в разделе Документы, зоны и атрибуты. |
|
|
DiscardIndexingDate
|
Поисковый документный атрибут idate не создается. |
Значение по умолчанию: StoreIndexingDate. |
|
Обнаружение границ предложений и абзацев на основе пунктуации
|
|
AllowPunctBreaks
|
Разрешить распознавание границ предложений и абзацев по знакам пунктуации - точкам, пробелам, переводам строк и т.п. |
|
|
IgnorePunctBreaks
|
Границами предложений и абзацев считать только теги, разбивающие абзац в языке разметки или заданные в конфигурации парсера. Никакие естественные границы (например, точка+пробел+Большая_буква или два перевода строки и абзацный отступ внутри тега <pre> в HTML) не разбивают предложений и абзацев. Однако следует учитывать, что максимальная длина предложения ограничена, поэтому слишком длинные предложения все равно будут разбиты на несколько частей. |
Значение по умолчанию: AllowPunctBreaks. |
Пример
Имеем некоторый документ blog.html следующего вида:
<html>
<head>
<title>gt;Заголовок!</title>
</head>gt;
<body>gt;
<div>gt;
Принцип восприятия философски ассоциирует конфликт, несмотря на мнение авторитетов.
</div>gt;
<div yx:replies="yes">
<div yx:reply="yes" yx:replier="veged">
Современная ситуация вырождена.
</div>
Тут еще какой-то текст.
<div yx:reply="yes" yx:replier="druxa">
Информация категорически транспонирует онтологический закон внешнего мира.
<div yx:comment="yes" yx:commenter="vsolon">
C кем это вы сейчас разговаривали?
</div>
Тут снова умные фразы.
</div>
</div>
</body>
</html>
Допустим мы хотим, чтобы для каждого предложения, находящегося в тегах <div> с атрибутом yx:replier либо атрибутом yx:commenter, в архиве сохранялся атрибут replier со значением, равным значению атрибута yx:replier/yx:commenter.
blogparser.cfg:
<HtmlParser>
<Zones>
title : title
reply : div/is_reply
comment : div/is_comment
</Zones>
<Attributes>
is_reply : LITERAL,reply,,ignore/div.yx:reply
replier : LITERAL,reply/div.yx:replier
is_comment : LITERAL,reply,,ignore/div.yx:comment
replier : LITERAL,reply/div.yx:commenter
</Attributes>
</HtmlParser>
Определим желаемые свойства пассажей в файле yandex.cfg:
PassageProperty : reply#replier comment#replier
После индексации выполняем команду tarcview workindex\index и получаем следующий результат:
~~~~~~ Document 0 ~~~~~~
Принцип восприятия философски ассоциирует конфликт, несмотря на мнение авторитетов.
Современная ситуация вырождена. replier veged
Тут еще какой-то текст.
Информация категорически транспонирует онтологический закон внешнего мира. replier druxa
C кем это вы сейчас разговаривали? replier druxa replier vsolon
Тут снова умные фразы. replier druxa
Секция IndexLog
Секция позволяет указать путь к текстовому файлу, в который будет записан лог индексации, и параметры вывода информации. Секция должна включать директивы FileName и Level.
Директивы секци IndexLog
| Директива |
Описание |
Значение |
|
FileName
|
Путь к файлу протокола индексирования, абсолютный или относительно WorkDir. |
Значение по умолчанию: стандартный поток вывода. |
|
Level
|
Уровень выдачи тестовой информации. Директива полезна при отладке и тонкой настройке конфигурации. Директива имеет произвольное число аргументов из перечисленных ниже. |
|
Аргументы директивы Level
| Аргумент |
Описание |
Значение |
|
Config
|
Печать конфигурации, использованной при индексировании. |
|
|
MoreConfig
|
Вся информация, выдаваемая в случае Config, плюс дополнительные сведения. |
|
|
Warning
|
Печать информации о некорректных случаях обработки данных, некритичных для работы программы в целом. |
|
|
MoreWarning
|
Вся информация, выдаваемая в случае Warning, плюс дополнительные сведения. |
|
|
Info
|
Печать информации о проиндексированных документах. |
|
|
MoreInfo
|
Вся информация, выдаваемая в случае Info, расширенная информация о проиндексированных документах и дополнительные сведения. |
|
|
Debug
|
Печать отладочной информации |
|
|
MoreDebug
|
Вся информация, выдаваемая в случае Debug, плюс дополнительные сведения. |
|
|
Verbose
|
Синоним для последовательности аргументов MoreConfigMoreWarningMoreInfo. |
Значение по умолчанию: не задан. |
Секция DataSrc
Секция описывает источник данных и размещается в секции Collection. Секция Collection может включать несколько секций DataSrc.
Пример
Каждая такая секция должна обязательно должна включать либо директиву Name, либо атрибут id, соответствующий одному из источников данных, поставляемых вместе с Яндекс.Сервером. Также могут присутствовать необязательные директивы Module, Symbol и Config.
Вложенная конфигурация
Для источников данных, поставляемых вместе с Яндекс.Сервером, описание секции DataSrc может
быть выполнено в текущем конфигурационном файле, при этом директива Config будет игнорироваться.
Например:
Директивы секции DataSrc
| Директива |
Описание |
Значение |
|
Name
|
Задает имя источника данных, уникально идентифицирующее этот источник данных. Может состоять только из латинских букв [a-zA-Z], чисел [0-9] и символа подчеркивания '_'. |
Пример:
|
|
Module
|
Задает локальный путь к источнику данных, абсолютный или относительно WorkDir. Применяется в случае, если источник данных реализован в виде разделяемой библиотеки. |
Пример:
Module : ../bin/ydftds.dll
|
|
Symbol
|
Задает имя символа, который должен быть загружен из библиотеки источника данных. Применяется в случае, если источник данных реализован в виде разделяемой библиотеки. |
|
|
Config
|
Задает строку инициализации, которая будет передана источнику данных при его инициализации. Формат этой строки определяется документацией к модулю связи с источником данных. Для источников данных, поставляемых вместе с Яндекс.Сервером, эта директива является обязательной и определяет путь к файлу конфигурации источника данных, формат которого описан в документации к источнику.
В случае, когда конфигурация источника тривиальна, директива Config может содержать строку параметров, кратко определяющих начальную область индексирования.
Примеры конфигурации источников см. ниже.
|
Значение по умолчанию: не задан
Пример:
|
Пример
<DataSrc id="webds">
Name : myname
Config : -w http://localhost/docs/index.html
</DataSrc>
Секция DocFormat
Секция определяет необходимость дополнительной настройки Парсера (анализатора содержимого документа) для коллекции документов, в которой она размещена.
Для каждого типа парсера необходимо задавать отдельную сецию DocFormat.
Если секция не задана либо задана не полностью, для коллекции документов используются стандартные (по умолчанию) настройки парсеров.
Подробная информация о парсерах и их настройках размещена в разделах Парсеры (анализаторы содержимого документа), Конфигурация HTML-парсера и Конфигурация XML-парсера.
В секцию DocFormat входят обязательные директивы MimeType и Config.
Директивы секции DocFormat
| Директива |
Описание |
|
MimeType
|
Определяет тип настраивомого парсера.
Возможные значения:
- text/html - HTML-парсер.
- text/xml - XML-парсер.
Обязательная директива.
|
|
Config
|
Определяет локальный путь к конфигурационному файлу парсера, абсолютный или относительно WorkDir.
Форматы конфигурационных файлов описаны в документации к соответствующим парсерам: Конфигурация HTML-парсера и Конфигурация XML-парсера.
Обязательная директива.
|
| |