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