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

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

В формате PDF

Программа savequery

Служебная программа savequery предназначена для выполнения запроса на языке запросов Яндекса с сохранением результатов в заданный файл. Формат файла с сохраненными результатами такой же, как у временных файлов, создаваемых поисковым сервером в случае, если в его конфигурационном файле задана секция QueryCache.

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

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

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

savequery -y indexprefix -q query -o hits [-r]

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

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

Путь к файлам, содержащим индекс, по которым будет осуществлен поиск, без окончаний "inv" и "key".

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

-q query

Путь к файлу, содержащему запрос на языке запросов Яндекса.

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

В конце файла должен присутствовать один перевод строки.

-o hits

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

Если имя файла начинается с символа "Z" и файл расположен в подчиненном каталоге hits индексного каталого (указанного в директиве IndexDir), то это имя можно использовать в операторе "$" поиска в найденном.

-r

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

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

Пример "семейного фильтра"

Допустим индекс расположен в каталоге /yandex/workindex.

Создадим каталог /yandex/workindex/hits и файл badwords следующего содержания:

"жрица любви" |
playboy

Создадим сохраненный запрос в файле Zexclude с помощью вызова:

savequery -y /yandex/workindex/index -q badwords -o /yandex/workindex/hits/Zexclude

Теперь, если у пользователя тем или иным способом установлен "семейный фильтр", мы можем в функции UserRequest модифицировать запрос пользователя

userquery

к виду

(userquery) ~~$$Zexclude

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