Тэг - специальный параметр, который присваивается группе документов. Основная задача тэгов заключается в возможности группировать документы для ограничения результатов поиска только этой группой документов.
Для присвоения тэга серверу, или части сервера, вы должны использовать команду Tag в
indexer.conf, указав её перед соответсвующей командой Server/Realm/Subnet.
При поиске, вы можете указать тэг задав CGI-параметр
t=xxx
, в HTML форме. Смотрите indexer.conf-dist и
search.htm-dist в качестве примера.
Tag <string>
Используйте эту команду по своему усмотрению чтобы сгруппировать несколько сайтов, помечая их указаным тэгом. При индексировании или поиске, вы можете ограничиваться сайтами только указаного тэга. Можно указывать несколько команд Tag. Команда Tag имеет значение до следующей команды Tag или до конца файла конфигурации. Значение по умолчанию: пустая строка.
TagIf <tag> [Match|NoMatch] [NoCase|Case] [String|Regex] [loose] <section> <arg> [<arg> ... ]
Присвоить документу тэг <tag>, если значении секции section
подпадает под указаный
шаблон arg
.
Значение первых трёх необязательных параметров такое же как для команды
Allow (см. Разд. 3.10.14>). Необязательный параметр loose
используется для задания
более низкого приоритета такому присвоению тэга, т.е. если тэг уже был присвоен на основании параметров сервера, новое значение тэгу
присвоено не будет.
Пример
TagIf Docs regex Title Manual
В тэге <tag> можно использовать мета-переменные шаблона страницы выдачи (например, $(title), $(Last-Modified)). В примере ниже для каждого документа в качестве тэга выставляется доменное имя из его URL:
TagIf $(url.host) match url.host *
Начиная с версии 3.1.x. тип тэгов изменён с INT на CHAR. Тип CHAR даёт несколько полезных возможностей. Вы може использовать SQL-шаблоны '_' and '%' при указании параметра тэга для поиска. Это позволяет тэгам, наравне с категориями, поддерживать возможность вложенности. Например, документы со значением тэга "AB" могут быть найдены, если при поиске указаны параметры тэга "A%" или "AB".
Тэги также дают возможность URL быть членом нескольких групп. Задавая SQL-шаблоны, вы можете легко создать две и более групп.
Например, тэг "ABCDE" - подпадает под выборку с такими тэгами в качестве параметра:
_BCDE A_CDE AB_DE ABC_E ABCD_
Замечание: Если у вас достаточно большая база, и ограничения по тэгу используются часто, весьма полезно создать для таблицы "server" индекс по полю "tag". Этот индекс не создаётся по умолчанию.
CREATE INDEX srv_tag ON "server" ("tag");По умолчанию, длина поля "tag" в таблице "server" ограничена 16 символами. Если вам необходимы более длинные тэги, увеличьте это значение перед созданием базы.
Замечание: Для способа хранения cache вам нужно указать секцию tag в вашем файле sections.conf с ненулевой максимальной длиной:
Section tag 0 64