Служебная программа savequery предназначена для выполнения запроса на языке запросов Яндекса с сохранением результатов в заданный файл. Формат файла с сохраненными результатами такой же, как у временных файлов, создаваемых поисковым сервером в случае, если в его конфигурационном файле задана секция QueryCache.
Программа savequery может быть использована в постиндексирующей процедуре для создания предкомпилированных запросов, идентификаторы которых можно добавлять в пользовательские запросы с помощью оператора языка запросов $ с целью применения фильтра. Файл сохраненного запроса, созданный с помощью savequery, может быть также использован как входные данные для программы hidedocs.
Вызов программы savequery осуществляется следующим образом:
savequery -y indexprefix -q query -o hits [-r]Здесь в квадратных скобках указаны необязательные параметры.
Путь к файлам, содержащим индекс, по которым будет осуществлен поиск, без окончаний inv/key. Например, если индексные файлы находятся в директории /yandex/workindex/, нужно указать /yandex/workindex/index.
Путь к файлу, содержащему запрос на языке запросов Яндекса. Файл может содержать переводы строки для удобства написания длинных запросов.
Путь к файлу, в который будет записан сохраненный запрос. Если имя файла начинается с символа 'Z' и файл расположен в поддиректории hits индексной директории (указанной в директиве IndexDir), то это имя можно использовать в операторе '$' поиска в найденном.
Учитывать в сохраненном запросе текстовую релевантность найденных документов. По умолчанию сохраняются только внутренние идентификаторы документов.
Пусть индекс расположен в директории /yandex/workindex. Создадим директорию /yandex/workindex/hits и файл badwords следующего содержания:
"жрица любви" |
playboy
Создадим сохраненный запрос в файле
Zexclude с помощью вызова
savequery -y /yandex/workindex/index -q badwords -o /yandex/workindex/hits/Zexclude
Теперь, если у пользователя тем или иным способом установлен "семейный фильтр",
мы можем в функции UserRequest
модифицировать запрос пользователя
userqueryк виду
(userquery) ~~$$Zexcludeс тем, чтобы исключить из результатов поиска документы с содержанием "только для взрослых".
| Пред. | Начало | След. |
| Программа atrview | Уровень выше | Программа hidedocs |