ВебмастерМетрикаВиджетыРекламная сетьДиректПоиск для сайтаAPI
Войти

Руководство по установке и эксплуатации

В формате PDF

Программа hidedocs

Служебная программа hidedocs предназначена для оперативного удаления из результатов поиска указанных документов. При этом информация о документах остается в индексных файлах и может быть окончательно удалена при последующем переиндексировании.

Программа hidedocs может быть полезна в условиях, когда индексные файлы очень большие, так что слияние результатов после переиндексирования занимает много времени. Программа помечает указанные документы как недоступные и может работать без остановки поискового процесса.

Параметры командной строки

Вызов программы hidedocs осуществляется следующим образом:

hidedocs [-n] hits indexprefix

Здесь в квадратных скобках указаны необязательные параметры.

Параметр Описание
indexprefix

Каталог с индексными файлами, документы в которых надо пометить, дополненный префиксом имени файла.

Например, если индексные файлы находятся в каталоге /yandex/workindex/, нужно указать /yandex/workindex/index.

hits

Путь к файлу с внутренними идентификаторами помечаемых документов.

По умолчанию, этот файл имеет формат сохраненного запроса Яндекса, и может быть создан, например, программой savequery.

-n

Указывает, что файл hits с идентификаторами документов имеет текстовый формат.

В этом случае файл hits должен содержать внутренние идентификаторы документов в десятичном формате, по одному на строку.

Файл такого формата может быть получен с помощью вызова:

printkeys -w -k#url= indexkey indexinv

с последующим парсированием результата, например, с помощью такого скрипта на PERL:

#!/usr/bin/perl
use strict;
while (<STDIN>) {
    if (/^#url="(.+)\s\d+\s\d+/) {
      # $1 содержит URL документа
    } elsif (/\[(\d+)\.\d+\.\d+\.\d+\]/) {
        print $1."\n";
    }
}

Пример использования hidedoc

Допустим документы в индексе, расположенном в каталоге /yandex/workindex, имеют литеральный атрибут myattr, и имеется файл query следующего содержания:

#myattr="value1" |
#myattr="value2" |
#myattr="value3"

Тогда последовательность вызовов

savequery -y /yandex/workindex/index -q query -o /temp/hit
hidedocs /temp/hit /yandex/workindex/index

делает недоступными в результатах поиска все документы, имеющие атрибут myattr со значениями "value1", "value2" или "value3".