К статье
Практический материал

Администрирование · 10 мин

Заполнение индекса поиска в 1С: как остановить и когда это оправдано

Почему 1С постоянно обновляет индекс полнотекстового поиска, как остановить заполнение индекса вручную и через регламентные задания, когда это безопасно и что проверить после.

Фоновое заполнение индекса полнотекстового поиска в 1С — частая причина жалоб на «подвисания» базы, рост нагрузки на сервер СУБД и замедление проведения документов. Механизм полнотекстового поиска периодически сканирует изменённые объекты (документы, справочники, файлы) и дописывает их в индекс, и на крупных базах этот процесс может занимать значительное время и ресурсы. Остановить его можно несколькими способами — от временной паузы до полного отключения регламентных заданий.

Важно понимать: индекс сам по себе не «ломается» от остановки обновления. Просто поиск перестанет находить данные, добавленные после последнего обновления. Это даёт администратору свободу: можно приостановить индексацию на время регламентных работ, загрузки больших объёмов данных или расследования проблем с производительностью, а затем включить обратно.

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

Что именно заполняет индекс и почему это грузит базу

Полнотекстовый поиск в 1С строит отдельный индекс по содержимому объектов: наименованиям, комментариям, текстовым реквизитам, присоединённым файлам. За актуальность индекса отвечают два регламентных задания: «Обновление индекса ППД» (дописывает новые и изменённые данные порциями) и «Слияние индекса ППД» (оптимизирует структуру индекса, объединяя фрагменты).

Нагрузка возникает по двум причинам. Во-первых, обновление читает большие объёмы данных и делает записи в служебные таблицы, что создаёт блокировки и растит журнал транзакций. Во-вторых, если расписание заданий слишком частое (например, каждую минуту), задание может запускаться практически непрерывно на активно меняющейся базе. На файловых базах ситуация хуже: фоновое задание конкурирует за тот же файл данных, что и пользователи.

База «подтормаживает» периодическиВероятно, работает обновление или слияние индекса

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

Растёт размер базы или логаИндекс накапливает фрагменты или идёт активное слияние

Посмотрите размер служебных таблиц полнотекстового поиска

Поиск не находит свежие документыОбновление индекса отключено или падает с ошибкой

Проверьте состояние задания «Обновление индекса ППД»

Способ 1. Отключить полнотекстовый поиск в настройках программы

Самый простой путь — отключить использование механизма целиком через интерфейс. В типовых конфигурациях (БП, УТ, ERP, ЗУП) перейдите в раздел «Администрирование» → «Общие настройки» (или «Настройки работы с файлами» / «Поиск» — зависит от конфигурации) и снимите флаг «Полнотекстовый поиск» / «Использовать полнотекстовый поиск». В некоторых конфигурациях рядом есть отдельная настройка расписания обновления индекса.

После снятия флага регламентные задания перестают выполнять полезную работу: они могут формально запускаться, но сразу завершаться. Поле поиска в строке глобального поиска при этом перестанет использовать индекс — пользователи будут искать только по стандартным механизмам формы списка. Сам индекс физически остаётся в базе.

Способ 2. Остановить регламентные задания через консоль

Если поиск нужен, но обновление индекса мешает прямо сейчас (например, идёт загрузка данных или обновление конфигурации), отключите задания точечно. В типовых конфигурациях откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания», найдите «Обновление индекса ППД» и «Слияние индекса ППД» и снимите флаг «Используется» у каждого. Либо измените расписание на удобное время — например, один раз ночью.

Порядок действий
  1. 1
    Откройте «Администрирование» → «Регламентные и фоновые задания»
  2. 2
    Найдите задания «Обновление индекса ППД» и «Слияние индекса ППД»
  3. 3
    Снимите флаг «Используется» у обоих или задайте редкое расписание
  4. 4
    Дождитесь завершения уже запущенного фонового задания (при необходимости отмените его в списке активных фоновых заданий)
  5. 5
    Проверьте в журнале регистрации, что новых запусков нет

Если задание выполняется прямо сейчас и блокирует работу, его можно принудительно отменить: в списке фоновых заданий выберите активное задание обновления индекса и нажмите «Отменить». На клиент-серверной базе то же самое доступно через консоль кластера 1С: в свойствах базы на закладке «Регламентные задания» можно установить блокировку, либо завершить конкретное задание через список сеансов/соединений.

Способ 3. Программная остановка через встроенный язык

Для разовых операций или автоматизации удобно управлять индексом кодом. Менеджер полнотекстового поиска позволяет разрешить или запретить обновление индекса глобально для базы:

bsl
// Запретить обновление индекса ППД
ПолнотекстовыйПоиск.УстановитьРазрешениеОбновленияИндекса(Ложь);

// Проверить текущее состояние
Разрешено = ПолнотекстовыйПоиск.ПолучитьРазрешениеОбновленияИндекса();

// При необходимости — очистить индекс полностью
// ПолнотекстовыйПоиск.ОчиститьИндекс();

Отключить сами регламентные задания программно можно через менеджер регламентных заданий: найдите задание по метаданным «ОбновлениеИндексаППД» и установите свойство «Использование» в Ложь. Этот способ удобен, когда нужно временно выключить индексацию на время пакетной загрузки и включить после — всё в одной транзакции сценария.

Когда останавливать индексацию, а когда лучше перенастроить

Полное отключение оправдано, если полнотекстовым поиском никто не пользуется (пользователи ищут через отборы и формы списка) или если база — тестовая копия, где индекс не нужен вовсе. Во всех остальных случаях разумнее не выключать механизм, а грамотно настроить расписание: обновление индекса — раз в 15–60 минут или ночью, слияние — раз в сутки в нерабочее время.

Сравнение вариантов

Полное отключение поиска

Подходит для тестовых баз и когда поиском не пользуются. Минус: функция поиска теряется полностью

Отключение заданий с сохранением индекса

Временная мера на период регламентных работ. Минус: поиск не видит новые данные, пока задания выключены

Перенастройка расписания

Оптимально для продуктивных баз: нагрузка переносится в нерабочие часы, поиск остаётся рабочим

Очистка индекса

Когда индекс повреждён или занимает слишком много места. Минус: требуется полное перестроение, долго на больших базах

Как проверить, что индексация остановлена

После отключения убедитесь, что задания действительно не выполняются. Откройте журнал регистрации, отфильтруйте по фоновым заданиям за последний час: записей «Обновление индекса ППД» быть не должно. В списке фоновых заданий не должно быть активных процессов с этим именем.

Дополнительная проверка — создать тестовый документ с уникальным словом в комментарии и попробовать найти его полнотекстовым поиском. Если индексация остановлена, документ не найдётся — это нормальное ожидаемое поведение, а не ошибка.

Контрольные точки

Как проверить результат

Журнал регистрации за последний час
Норма

Нет записей о запуске заданий ППД

Тревожный признак

Задания продолжают стартовать — проверьте расписание и блокировку в кластере

Список активных фоновых заданий
Норма

Нет выполняющихся заданий обновления/слияния индекса

Тревожный признак

Задание висит в состоянии «Выполняется» — отмените его вручную

Поиск свежего тестового документа
Норма

Новый документ не находится (индекс не обновляется)

Тревожный признак

Документ находится сразу — индексация всё ещё работает

Типичные ошибки и ограничения

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

Типичные ошибки
01
Отключили задание, но забыли про «Слияние индекса ППД» — нагрузка снизилась, но не исчезла
02
Удалили расписание вместо снятия флага «Используется» — при обновлении конфигурации задание может пересоздаться с настройками по умолчанию
03
Очистили индекс на продуктивной базе днём — поиск «сломался» для всех пользователей на часы
04
Включили индексацию обратно, но не проверили ошибки в журнале — задание падает, а поиск молча устаревает

Ещё одно ограничение: в файловых базах, опубликованных на веб-сервере, фоновые задания выполняются в отдельном сеансе, и их поведение зависит от настроек публикации. Если задание «не отключается», проверьте, не запускает ли его отдельный сеанс планировщика.

Итог

Что важно запомнить

Заполнение индекса останавливается отключением заданий «Обновление индекса ППД» и «Слияние индекса ППД» или снятием флага использования полнотекстового поиска. Индекс при этом сохраняется, поиск работает по старым данным. Для продуктивных баз предпочтительнее не отключать, а перенести индексацию на нерабочие часы.

Частые вопросы

Удалится ли индекс, если отключить регламентные задания?

Нет. Отключение заданий лишь прекращает его пополнение и оптимизацию. Существующий индекс остаётся в базе и продолжает использоваться поиском. Для удаления индекса используется отдельная операция очистки.

Почему задание запускается снова, хотя я его отключил?

На клиент-серверных базах проверьте блокировку регламентных заданий в свойствах базы в консоли кластера. Также некоторые конфигурации программно включают задания при обновлении или при изменении связанных настроек — проверьте журнал регистрации.

Можно ли остановить уже выполняющееся обновление индекса?

Да. В списке фоновых заданий выберите активное задание и нажмите «Отменить». На сервере также можно завершить сеанс задания через консоль кластера, но это крайняя мера — сначала пробуйте штатную отмену.

Что будет, если индекс долго не обновлять?

Ничего критичного: поиск продолжит работать, но не будет находить данные, добавленные после последнего обновления. При повторном включении задание обновит индекс порциями — на большом объёме накопленных изменений первое обновление может занять заметное время.

Нужно ли останавливать индексацию перед обновлением конфигурации?

Желательно. Активные фоновые задания могут мешать установке монопольного режима и создавать лишнюю нагрузку во время реструктуризации. Отключите задания ППД перед обновлением и включите после его завершения.

Как полностью перестроить индекс после долгого простоя?

Очистите индекс через функцию управления полнотекстовым поиском, затем включите обновление — будет выполнено полное построение. На больших базах запланируйте это на ночь или выходные, так как процесс ресурсоёмкий.