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