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

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

Полнотекстовый поиск в 1С: что это и как его настроить

Что такое полнотекстовый поиск в 1С, как он работает, как включить индексирование, настроить расписание обновления индекса и исправить типичные ошибки поиска.

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

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

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

Как работает полнотекстовый поиск: индекс и словоформы

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

Поиск учитывает морфологию: по запросу «накладная» будут найдены и «накладные», и «накладной». Поддерживается поиск по точной фразе в кавычках, по части слова со звёздочкой (например, догов*), а также логические операторы И/ИЛИ. Это позволяет строить гибкие запросы без знания языка запросов 1С.

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

Какие данные попадают в поиск, а какие — нет

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

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

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

Объект не находится по текстуПоле не индексируется

Проверьте свойство «Полнотекстовый поиск» у реквизита в конфигураторе

Новые данные не видныИндекс устарел

Проверьте дату актуальности индекса в настройках поиска

Поиск вообще не работаетМеханизм отключён

Проверьте флаг разрешения полнотекстового поиска в настройках базы

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

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

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

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

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

Как пользоваться поиском и строить запросы

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

Для точного поиска полезны специальные приёмы. Фраза в кавычках ищет точное сочетание слов: "акт сверки" найдёт только документы, где слова идут подряд. Звёздочка ищет по началу слова: реализац* покроет все формы. Оператор ИЛИ расширяет выборку, а ! исключает слово из результатов.

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

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

Типичные проблемы и способы их решения

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

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

Третья ситуация — поиск работает, но медленно обновляется в многопользовательской базе. Здесь помогает увеличение интервала между обновлениями до разумного (слишком частое обновление грузит сервер) и перенос регламентного задания на часы минимальной нагрузки.

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

Ограничения механизма и альтернативы

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

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

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

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

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

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

Поиск в динамическом списке

Быстрый поиск по видимым колонкам конкретного списка; не ищет по всей базе и по файлам

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

Гибкие условия и программная обработка; медленно на больших таблицах, требует навыков разработки

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

После включения и настройки выполните контрольную проверку. Создайте тестовый документ с уникальным словом в комментарии, дождитесь обновления индекса (или запустите его вручную) и найдите документ по этому слову. Если объект найден с подсветкой совпадения — цепочка «данные → индекс → результат» работает.

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

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

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

Дата актуальности индекса
Норма

Свежая, соответствует расписанию обновления

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

Отстаёт на часы или дни — задание не выполняется

Тестовый поиск нового документа
Норма

Документ находится после обновления индекса

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

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

Журнал регистрации
Норма

Задание обновления завершается без ошибок

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

Регулярные ошибки — смотрите текст и устраняйте причину

Место на диске сервера
Норма

Есть запас свободного места

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

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

FAQ: частые вопросы о полнотекстовом поиске в 1С

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

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

Ищет ли полнотекстовый поиск внутри прикреплённых файлов?

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

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

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

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

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

Что делать, если поиск выдаёт ошибку или индекс повреждён?

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

Можно ли искать по части номера документа?

Да, если номер включён в индекс. Используйте запрос со звёздочкой, например 00-0012*, чтобы найти документы по началу номера. Если номер не индексируется в вашей конфигурации, проще воспользоваться стандартным поиском по номеру в списке документов.

Итог

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

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