Администрирование · 10 мин
Заполнение индекса поиска в 1С: как остановить и когда это оправдано
Почему 1С постоянно обновляет индекс полнотекстового поиска, как остановить заполнение индекса вручную и через регламентные задания, когда это безопасно и что проверить после.
Фоновое заполнение индекса полнотекстового поиска в 1С — частая причина жалоб на «подвисания» базы, рост нагрузки на сервер СУБД и замедление проведения документов. Механизм полнотекстового поиска периодически сканирует изменённые объекты (документы, справочники, файлы) и дописывает их в индекс, и на крупных базах этот процесс может занимать значительное время и ресурсы. Остановить его можно несколькими способами — от временной паузы до полного отключения регламентных заданий.
Важно понимать: индекс сам по себе не «ломается» от остановки обновления. Просто поиск перестанет находить данные, добавленные после последнего обновления. Это даёт администратору свободу: можно приостановить индексацию на время регламентных работ, загрузки больших объёмов данных или расследования проблем с производительностью, а затем включить обратно.
Ниже разобраны все рабочие способы остановить заполнение индекса: через интерфейс пользователя, через консоль заданий, программно и на уровне настройки самого механизма поиска. Отдельно описано, как проверить, что индексация действительно остановлена, и какие ошибки встречаются чаще всего.
Что именно заполняет индекс и почему это грузит базу
Полнотекстовый поиск в 1С строит отдельный индекс по содержимому объектов: наименованиям, комментариям, текстовым реквизитам, присоединённым файлам. За актуальность индекса отвечают два регламентных задания: «Обновление индекса ППД» (дописывает новые и изменённые данные порциями) и «Слияние индекса ППД» (оптимизирует структуру индекса, объединяя фрагменты).
Нагрузка возникает по двум причинам. Во-первых, обновление читает большие объёмы данных и делает записи в служебные таблицы, что создаёт блокировки и растит журнал транзакций. Во-вторых, если расписание заданий слишком частое (например, каждую минуту), задание может запускаться практически непрерывно на активно меняющейся базе. На файловых базах ситуация хуже: фоновое задание конкурирует за тот же файл данных, что и пользователи.
Проверьте журнал регистрации по событиям фоновых заданий
Посмотрите размер служебных таблиц полнотекстового поиска
Проверьте состояние задания «Обновление индекса ППД»
Способ 1. Отключить полнотекстовый поиск в настройках программы
Самый простой путь — отключить использование механизма целиком через интерфейс. В типовых конфигурациях (БП, УТ, ERP, ЗУП) перейдите в раздел «Администрирование» → «Общие настройки» (или «Настройки работы с файлами» / «Поиск» — зависит от конфигурации) и снимите флаг «Полнотекстовый поиск» / «Использовать полнотекстовый поиск». В некоторых конфигурациях рядом есть отдельная настройка расписания обновления индекса.
После снятия флага регламентные задания перестают выполнять полезную работу: они могут формально запускаться, но сразу завершаться. Поле поиска в строке глобального поиска при этом перестанет использовать индекс — пользователи будут искать только по стандартным механизмам формы списка. Сам индекс физически остаётся в базе.
Способ 2. Остановить регламентные задания через консоль
Если поиск нужен, но обновление индекса мешает прямо сейчас (например, идёт загрузка данных или обновление конфигурации), отключите задания точечно. В типовых конфигурациях откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания», найдите «Обновление индекса ППД» и «Слияние индекса ППД» и снимите флаг «Используется» у каждого. Либо измените расписание на удобное время — например, один раз ночью.
- 1Откройте «Администрирование» → «Регламентные и фоновые задания»
- 2Найдите задания «Обновление индекса ППД» и «Слияние индекса ППД»
- 3Снимите флаг «Используется» у обоих или задайте редкое расписание
- 4Дождитесь завершения уже запущенного фонового задания (при необходимости отмените его в списке активных фоновых заданий)
- 5Проверьте в журнале регистрации, что новых запусков нет
Если задание выполняется прямо сейчас и блокирует работу, его можно принудительно отменить: в списке фоновых заданий выберите активное задание обновления индекса и нажмите «Отменить». На клиент-серверной базе то же самое доступно через консоль кластера 1С: в свойствах базы на закладке «Регламентные задания» можно установить блокировку, либо завершить конкретное задание через список сеансов/соединений.
Способ 3. Программная остановка через встроенный язык
Для разовых операций или автоматизации удобно управлять индексом кодом. Менеджер полнотекстового поиска позволяет разрешить или запретить обновление индекса глобально для базы:
// Запретить обновление индекса ППД
ПолнотекстовыйПоиск.УстановитьРазрешениеОбновленияИндекса(Ложь);
// Проверить текущее состояние
Разрешено = ПолнотекстовыйПоиск.ПолучитьРазрешениеОбновленияИндекса();
// При необходимости — очистить индекс полностью
// ПолнотекстовыйПоиск.ОчиститьИндекс();Отключить сами регламентные задания программно можно через менеджер регламентных заданий: найдите задание по метаданным «ОбновлениеИндексаППД» и установите свойство «Использование» в Ложь. Этот способ удобен, когда нужно временно выключить индексацию на время пакетной загрузки и включить после — всё в одной транзакции сценария.
Когда останавливать индексацию, а когда лучше перенастроить
Полное отключение оправдано, если полнотекстовым поиском никто не пользуется (пользователи ищут через отборы и формы списка) или если база — тестовая копия, где индекс не нужен вовсе. Во всех остальных случаях разумнее не выключать механизм, а грамотно настроить расписание: обновление индекса — раз в 15–60 минут или ночью, слияние — раз в сутки в нерабочее время.
Сравнение вариантов
Подходит для тестовых баз и когда поиском не пользуются. Минус: функция поиска теряется полностью
Временная мера на период регламентных работ. Минус: поиск не видит новые данные, пока задания выключены
Оптимально для продуктивных баз: нагрузка переносится в нерабочие часы, поиск остаётся рабочим
Когда индекс повреждён или занимает слишком много места. Минус: требуется полное перестроение, долго на больших базах
Как проверить, что индексация остановлена
После отключения убедитесь, что задания действительно не выполняются. Откройте журнал регистрации, отфильтруйте по фоновым заданиям за последний час: записей «Обновление индекса ППД» быть не должно. В списке фоновых заданий не должно быть активных процессов с этим именем.
Дополнительная проверка — создать тестовый документ с уникальным словом в комментарии и попробовать найти его полнотекстовым поиском. Если индексация остановлена, документ не найдётся — это нормальное ожидаемое поведение, а не ошибка.
Как проверить результат
Нет записей о запуске заданий ППД
Задания продолжают стартовать — проверьте расписание и блокировку в кластере
Нет выполняющихся заданий обновления/слияния индекса
Задание висит в состоянии «Выполняется» — отмените его вручную
Новый документ не находится (индекс не обновляется)
Документ находится сразу — индексация всё ещё работает
Типичные ошибки и ограничения
Самая частая ошибка — отключить задание только в одном месте. На клиент-серверной базе задания могут запускаться, даже если вы сняли флаг в интерфейсе, если в свойствах базы в консоли кластера не установлена блокировка регламентных заданий либо задание переопределено кодом. Проверяйте оба уровня.
Ещё одно ограничение: в файловых базах, опубликованных на веб-сервере, фоновые задания выполняются в отдельном сеансе, и их поведение зависит от настроек публикации. Если задание «не отключается», проверьте, не запускает ли его отдельный сеанс планировщика.
Что важно запомнить
Заполнение индекса останавливается отключением заданий «Обновление индекса ППД» и «Слияние индекса ППД» или снятием флага использования полнотекстового поиска. Индекс при этом сохраняется, поиск работает по старым данным. Для продуктивных баз предпочтительнее не отключать, а перенести индексацию на нерабочие часы.
Частые вопросы
Удалится ли индекс, если отключить регламентные задания?
Нет. Отключение заданий лишь прекращает его пополнение и оптимизацию. Существующий индекс остаётся в базе и продолжает использоваться поиском. Для удаления индекса используется отдельная операция очистки.
Почему задание запускается снова, хотя я его отключил?
На клиент-серверных базах проверьте блокировку регламентных заданий в свойствах базы в консоли кластера. Также некоторые конфигурации программно включают задания при обновлении или при изменении связанных настроек — проверьте журнал регистрации.
Можно ли остановить уже выполняющееся обновление индекса?
Да. В списке фоновых заданий выберите активное задание и нажмите «Отменить». На сервере также можно завершить сеанс задания через консоль кластера, но это крайняя мера — сначала пробуйте штатную отмену.
Что будет, если индекс долго не обновлять?
Ничего критичного: поиск продолжит работать, но не будет находить данные, добавленные после последнего обновления. При повторном включении задание обновит индекс порциями — на большом объёме накопленных изменений первое обновление может занять заметное время.
Нужно ли останавливать индексацию перед обновлением конфигурации?
Желательно. Активные фоновые задания могут мешать установке монопольного режима и создавать лишнюю нагрузку во время реструктуризации. Отключите задания ППД перед обновлением и включите после его завершения.
Как полностью перестроить индекс после долгого простоя?
Очистите индекс через функцию управления полнотекстовым поиском, затем включите обновление — будет выполнено полное построение. На больших базах запланируйте это на ночь или выходные, так как процесс ресурсоёмкий.