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

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

Как отменить заполнение индекса поиска в 1С

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

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

Если пользователи не пользуются полнотекстовым поиском или в компании принято решение искать данные другими средствами (отчёты, отборы в списках, внешние системы поиска), заполнение индекса разумно отключить. Это стандартная административная операция, которая выполняется штатными средствами и не требует доработки конфигурации.

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

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

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

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

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

Маршрут решения

Как выбрать действие

Пользователи не открывают панель полнотекстового поиска и работают через отборыОтключайте поиск полностью и очищайте индекс
Поиском пользуются, но обновление индекса мешает в рабочее времяНе отключайте поиск, а перенесите расписание обновления на ночь
База разрослась из-за индекса, но поиск нуженОчистите индекс и настройте расписание слияния индексов, поиск оставьте включённым

Отключение заполнения индекса в пользовательском режиме

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

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

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

Порядок действий в режиме 1С:Предприятие
  1. 1
    Откройте раздел «Администрирование» под пользователем с полными правами
  2. 2
    Найдите настройку «Поиск» или «Полнотекстовый поиск»
  3. 3
    Снимите флажок «Использовать полнотекстовый поиск»
  4. 4
    Если кнопка «Очистить индекс» доступна — выполните очистку
  5. 5
    Проверьте, что регламентные задания обновления индекса больше не выполняются

Программное отключение через встроенный язык

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

Для управления механизмом предусмотрены методы объекта ПолнотекстовыйПоиск: установка режима использования, проверка текущего состояния и очистка индекса. Код выполняется на сервере и требует права администрирования.

// Отключить полнотекстовый поиск

ПолнотекстовыйПоиск.УстановитьИспользование(Ложь);

// Проверить текущее состояние

Используется = ПолнотекстовыйПоиск.ПолучитьИспользование();

// Очистить накопленный индекс

ПолнотекстовыйПоиск.ОчиститьИндекс();

Обратите внимание: очистка индекса — отдельная операция, она не выполняется автоматически при отключении поиска. Если цель — освободить место, вызывайте ОчиститьИндекс() явно, а в файловой базе после этого имеет смысл выполнить тестирование и исправление с сжатием таблиц.

Отключение регламентных заданий обновления индекса

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

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

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

Очистка накопленного индекса и уменьшение размера базы

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

В клиент-серверном варианте физическое уменьшение файла базы данных зависит от СУБД: после очистки индекса может потребоваться shrink базы или перестроение таблиц средствами MS SQL, PostgreSQL или другой используемой СУБД. В файловом варианте сжатие выполняется через «Тестирование и исправление» с включённой опцией сжатия таблиц либо через конфигуратор.

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

Проверка результата и типичные ошибки

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

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

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

Альтернативы полному отключению

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

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

Итог

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

Заполнение индекса отключается снятием флажка «Использовать полнотекстовый поиск» в разделе администрирования или методом ПолнотекстовыйПоиск.УстановитьИспользование(Ложь). Дополнительно отключите регламентные задания и очистите индекс, если нужно освободить место. Перед очисткой и сжатием базы сделайте резервную копию.

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

Отключение поиска удалит документы или файлы из базы?

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

Можно ли отключить индексирование только для отдельных объектов?

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

Почему после отключения и очистки индекса размер базы не уменьшился?

Удалённые данные остаются внутри файла базы как свободное место. В файловом варианте выполните тестирование и исправление с сжатием таблиц, в клиент-серверном — shrink средствами СУБД. Только после этого файл физически уменьшится.

Как вернуть полнотекстовый поиск, если он снова понадобится?

Установите обратно флажок «Использовать полнотекстовый поиск» в настройках администрирования или вызовите ПолнотекстовыйПоиск.УстановитьИспользование(Истина). После включения запустите обновление индекса — первоначальное построение на большой базе займёт продолжительное время, планируйте его на нерабочие часы.

Нужно ли отключать поиск в тестовых копиях базы?

Рекомендуется. Тестовые копии редко используются для поиска, а регламентные задания обновления индекса в копии расходуют ресурсы сервера и место на диске. Отключение поиска — стандартный пункт чек-листа при развёртывании копии рабочей базы.

Влияет ли отключение на обычный поиск в списках по подстроке?

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