Оператор глобальной корректировки CORRECA


НАЧАЛО >> Глобальные корректировки >> Оператор глобальной корректировки CORRECA📄 Скачать в DOCX


CORRECA используется в GBL-сценариях, когда вложенная корректировка должна отобрать записи не по готовому списку терминов, а по поисковому выражению языка ИРБИС. По назначению оператор близок к CORREC: он запускает корректировку найденных записей и завершает блок оператором END.

1. Когда применять

CORRECA нужен для сценариев, где область вложенной корректировки нельзя надежно выразить одним простым термином. Вместо последовательного перебора терминов сценарий передает серверу полноценный поисковый запрос: с логическими связками, префиксами словаря, уточняющими условиями и значениями, вычисленными форматом.

Используйте CORREC, если существующая логика уже формирует точный список терминов для корректировки. Используйте CORRECA, если целевую выборку нужно получить тем же способом, что и при прямом поиске записей.

2. Структура блока

Блок CORRECA строится по той же идее, что и блок CORREC: сценарий задает базу, правила изменения записи и условие отбора. Отличие находится в условии отбора: для CORRECA это поисковое выражение ИРБИС, а не список терминов.

CORRECA
<имя базы или формат, который возвращает имя базы>
<формат изменения найденной записи>
<поисковое выражение ИРБИС>
END

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

3. Переменные окружения

Во время выполнения CORRECA форматер получает служебные переменные:

Переменная Назначение
IRBIS_SEARCH_REQ Поисковое выражение, переданное оператору.
IRBIS_SEARCH_REQFT Формат уточнения поискового результата. В глобальной корректировке сейчас не применяется; переменная зарезервирована для будущего использования.
IRBIS_SEARCH_TOTAL Количество записей, найденных поисковым выражением.
IRBIS_SEARCH_CUR Номер текущей итерации последовательного поиска, начиная с 0.

Эти переменные удобно использовать для протоколирования, дополнительной проверки сценария и защиты от слишком широкого результата.

4. Безопасность

Перед выполнением сценария с CORRECA проверьте поисковый запрос обычным поиском и оцените количество найденных записей. Для массовых изменений сначала запускайте сценарий на копии базы или на малой выборке. После выполнения проверьте измененные записи и актуализируйте словари, если корректировка изменила поисковые поля.