Яndex.Server 3.1 ДОКУМЕНТАЦИЯ

       

Конфигурирование поисковых атрибутов


Формальные правила описания поисковых атрибутов можно представить следующим набором выражений: <Attributes> yxattr = TYPE/htelem.htattr(,htelem.htattr)* yxattr = TYPE,yxzone/htelem.htattr(,htelem.htattr)* yxattr = TYPE,yxzone,function/htelem.htattr(,htelem.htattr)* yxattr = TYPE,yxzone,function,ignore/htelem.htattr(,htelem.htattr)* ;только для атрибутов типа URL yxattr = TYPE,yxzone,function,ignore,ext( ext)*/htelem.htattr(,htelem.htattr)* yxattr = TYPE,yxzone,function,ignore,ext( ext)*,local/htelem.htattr(,htelem.htattr)* </Attributes> Где

yxzone - имя поисковой зоны
yxattr - имя поискового атрибута
htelem - имя HTML-тега
htattr - имя HTML-атрибута
(...)* - ноль, один или несколько элементов
TYPE - тип поискового атрибута, как описано в разделе Типы атрибутов
function - одно из строковых значений, указанных ниже, определяющих правила распознавания текста атрибута
ignore - флажок, указывающий, что документный атрибут надо распознавать, но не надо запоминать его в индексных файлах. Используется для создания группировочных атрибутов.
ext - список расширений имен файлов разделенных пробелами
local - флажок для пометки только локальных (внтурисайтовых) ссылок

Символ _ (подчеркивание) вместо имени HTML-тега или HTML-атрибута обозначает любой элемент или атрибут. Если символ _ задан вместо имени поискового атрибута, имя поискового атрибута будет совпадать с именем HTML-атрибута.

Пример: Многие HTML-теги могут иметь всплывающую подсказку, заданную через HTML-атрибут title. Чтобы проиндексировать все эти атрибуты, можно определить поисковый атрибут tooltip следующим образом: tooltip = TEXT/_.title Каждое из слов текста атрибута title любого HTML-тега войдет в индекс с учетом морфологии.

Особый случай представляют собой теги <META> и <LINK>. Для удобства их использования принято, что именем атрибута тега <META> является значение атрибутов NAME или HTTP-EQUIV, а значением - содержимое атрибута CONTENT. Для тега <LINK> именем атрибута считается значение атрибутов REL/REV, а значением - содержимое атрибута HREF.
Пример: Каждый документ в электронной библиотеке содержит meta-тег следующего вида: <meta name="author" content="_имя_автора_"> Чтобы обеспечить поиск документов, принадлежащих конкретному автору, определим поисковый атрибут author: author = TEXT/meta.author

Пример: email = URL/link.made _ = TEXT/meta._ _ = URL/link._

Это означает, что будут проиндексированы все встретившиеся в документах META и LINK теги. Причем, если в LINK значение одного из его атрибутов окажется равно made, то поисковый атрибут будет иметь имя email. Во всех остальных случаях (это касается и META) будут образовываться поисковые атрибуты с именами, равными соответствующим значениям атрибутов данных тегов. Это позволяет решить проблему постоянного добавления в конфигурацию записей при каждом появлении нового, еще не описанного META или LINK тега. В настройках подобного вида приоритет имеют явно заданные имена атрибутов.

Если название поисковой зоны после типа атрибута опущено, поисковый атрибут будет документным атрибутом. Если имя поисковой зоны указано, возможны следующие случаи.

ЗначениеОписание
docэто документный атрибут, тот же самый результат получается, если имя зоны не указывать
emptyэто атрибут данной точки документа, то есть атрибут специальной зоны нулевой длины, как обсуждалось в Поисковые зоны и атрибуты
anyесли для содержимого данного HTML-элемента сформирована поисковая зона, поисковый атрибут является атрибутом этой зоны. В противном случае это атрибут данной точки документа.
другое имяесли из содержимого HTML-элемента не сформирована поисковая зона с данным именем, поисковый атрибут не создается


Пример: Для поиска картинок по именам файлов определим поисковый атрибут image: image = URL,empty/img.src

Аргумент function может принимать следующие значения: ЗначениеОписание
parse_http_expiresраспознавать текст атрибута по правилам, применяемым для meta.expires
parse_http_refreshраспознавать текст атрибута по правилам, применяемым для meta.refresh
parse_http_charsetраспознавать текст атрибута по правилам, применяемым для meta.content-type
parse_meta_robotsраспознавать текст атрибута по правилам, применяемым для meta.robots
parse_data_integerраспознавать текст атрибута как дату и время и преобразовывать результат в целое число



Аргумент function может быть пропущен. В этом случае применяются правила распознавания атрибута по умолчанию, в соответствии с его типом.

Имена поисковых атрибутов типа URL могут определяться не только наличием или отсутствием соответствующих тегов и их атрибутов, но и расширениями имен файлов, составляющих значение HTML-атрибута, а также фактом, является ли ссылка локальной для данного сайта или уходит на внешние ресурсы. Пример: Создадим дополнительные поисковые атрибуты для случаев, когда HTML-атрибут представляет собой внутрисайтовую ссылку или ссылается на музыкальный файл: ; По умолчанию - расширения не даны link = URL,anchor/a.href link = URL,any/frame.src,iframe.src,area.href ; В случае музыкальных расширений или внутренних ссылок меняем имя атрибута linkmp3 = URL,anchor,,,mp3 mpga mp2 ra/a.href linkint = URL,anchor,,,,local/a.href linkint = URL,any,,,,local/frame.src,iframe.src,area.href Если в конфигурации зон сформирована условная зона anchor по правилу anchor = a/link то текст внутрисайтовых и музыкальных ссылок в эту зону не попадет.


Содержание раздела