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