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

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

Для чего предназначен полнотекстовый поиск в данных 1С

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

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

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

Механизм доступен во всех современных конфигурациях на управляемых формах: «1С:Управление торговлей», «1С:ERP», «1С:Комплексная автоматизация», «1С:Документооборот» и других. В типовых решениях он уже задействован в строке глобального поиска, а администратору остаётся включить его, настроить расписание обновления индекса и контролировать его актуальность.

Какие задачи решает полнотекстовый поиск

Первая и основная задача — поиск документов и элементов справочников по содержимому, а не по номеру или дате. Менеджер помнит, что в комментарии к заказу упоминалась «срочная доставка в Ярославль», но не помнит ни клиента, ни номер документа. Полнотекстовый поиск находит такой заказ за пару секунд, тогда как ручной перебор занял бы часы.

Вторая задача — работа с большими текстовыми полями: описаниями товаров, текстами договоров, историями переписки, темами и содержимым писем в «1С:Документооборот». Именно там сосредоточен основной массив неструктурированной информации, которую невозможно найти обычными отборами.

Третья задача — поиск с учётом особенностей языка. Механизм понимает словоформы («накладная», «накладной», «накладными»), поддерживает поиск с учётом синонимов и нечёткий поиск, когда слово введено с опечаткой. Это существенно снижает требования к точности запроса со стороны пользователя.

Объём базыСотни тысяч документов

Поиск по подстроке заметно тормозит, индекс ускоряет выборку в разы

Тип данныхДлинные текстовые поля

Комментарии, описания, тексты договоров, письма

Запросы пользователейНеточные формулировки

Нужны словоформы, синонимы, устойчивость к опечаткам

Частота поискаЕжедневная работа

Поиск — регулярная операция, а не разовая необходимость

Как устроен механизм: индекс и его обновление

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

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

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

Как включить и настроить поиск

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

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

Порядок включения полнотекстового поиска
  1. 1
    Откройте раздел администрирования и найдите настройку поиска данных
  2. 2
    Включите использование полнотекстового поиска
  3. 3
    Настройте регламентное задание обновления индекса, задайте расписание вне пиковой нагрузки
  4. 4
    Запустите первое полное обновление индекса и дождитесь завершения
  5. 5
    Проверьте поиск на тестовых запросах: по слову из комментария документа, с опечаткой, по словоформе

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

Синтаксис запросов и возможности поиска

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

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

text
"акт сверки" И (поставщик ИЛИ подрядчик)
#договор — нечёткий поиск с учётом опечаток
!автомобиль — поиск с учётом синонимов

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

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

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

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

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

Полнотекстовый поиск и альтернативы: что выбрать

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

Сравнение способов поиска в 1С

Полнотекстовый поиск

Подходит для поиска по текстовому содержимому с учётом словоформ и опечаток. Требует настройки и регулярного обновления индекса

Поиск по подстроке

Простой, не требует настройки, но медленный на больших таблицах и не понимает словоформы

Отборы в списках и отчётах

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

Запросы с ПОДОБНО

Гибкий инструмент разработчика, но создаёт нагрузку на СУБД и не поддерживает морфологию

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

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

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

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

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

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

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

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

Поиск по слову из комментария документа
Норма

Документ найден в течение нескольких секунд

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

Объект не находится после полного обновления индекса

Поиск по словоформе (другой падеж)
Норма

Находятся объекты со всеми формами слова

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

Находится только точное совпадение — проверьте настройки

Свежий документ после частичного обновления
Норма

Документ появляется в результатах

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

Документ не находится — регламентное задание не работает

Журнал регистрации по заданию обновления индекса
Норма

Задание завершается успешно по расписанию

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

Ошибки выполнения или задание не запускается

Часто задаваемые вопросы

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

Индекс обновляется не мгновенно, а по расписанию или вручную. Документ появится в результатах после очередного частичного обновления. Если актуальность критична, запустите обновление индекса вручную из раздела настройки поиска или сократите интервал регламентного задания.

Замедляет ли полнотекстовый поиск работу базы?

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

Можно ли искать по содержимому прикреплённых файлов?

Да, если конфигурация поддерживает извлечение текста из присоединённых файлов и эта возможность включена. Тогда документы Word, PDF и другие файлы с текстовым слоем участвуют в индексации. Файлы-сканы без распознанного текста в индекс не попадут.

Чем полнотекстовый поиск отличается от строки поиска в списке документов?

Строка поиска в списке ищет подстроку в ограниченном наборе полей и работает медленнее на больших объёмах. Полнотекстовый поиск использует индекс, понимает словоформы, синонимы и опечатки и охватывает все проиндексированные текстовые реквизиты сразу.

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

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

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

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

Итог

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

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