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

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

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

Зачем нужен полнотекстовый поиск в 1С, как он отличается от поиска по строке, как включить индексирование, настроить расписание и проверить результат.

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

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

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

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

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

Поиск понимает логические операторы. Можно комбинировать слова через «И», «ИЛИ», «НЕ», искать точную фразу в кавычках, использовать группировку скобками. Это позволяет строить достаточно точные запросы, например: «аренда И склад НЕ расторжение» — чтобы отсечь лишние результаты.

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

Чем он отличается от поиска по строке и отбора в списках

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

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

КритерийПоиск по строкеОтбор в спискеПолнотекстовый поиск
Где ищетОтображаемые колонки спискаУказанные поляВсе текстовые данные объекта
МорфологияНетНетДа
Несколько слов и фразыОграниченноЧерез несколько условийДа, с операторами
Поиск по комментариям и файламНетТолько если поле доступно для отбораДа
Актуальность данныхВсегда актуаленВсегда актуаленЗависит от обновления индекса

В каких задачах полнотекстовый поиск незаменим

Поиск документов по содержимому комментариев

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

Работа с присоединенными файлами

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

Дежурный поиск «где-то что-то было»

Классическая ситуация поддержки и бухгалтерии: «был документ, там упоминался такой-то товар и такая-то организация». Вместо построения сложных отчётов пользователь вводит два-три слова и получает список кандидатов с указанием, в каких объектах и в каком контексте слова найдены.

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

Спросите, как часто сотрудники просят «найти документ, где было написано про...»

ПризнакМного присоединенных файлов

Проверьте объём хранилища файлов и есть ли потребность искать по их тексту

ПризнакБаза выросла

При сотнях тысяч документов ручной перебор и отборы перестают спасать

ПризнакПоиск подстрокой тормозит

Запросы с ПОДОБНО по большим таблицам создают нагрузку на СУБД

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

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

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

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

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

Расписание обновления индекса: баланс актуальности и нагрузки

Чем чаще обновляется индекс, тем свежее результаты поиска, но тем больше фоновая нагрузка на сервер. Для большинства баз разумный компромисс — обновление каждые 15–60 минут в рабочее время. Если пользователи создают документы пачками и сразу ищут их, интервал сокращают; если поиск используется редко, достаточно ночного обновления.

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

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

Как выбрать расписание

Пользователи жалуются, что новые документы не находятсяСократите интервал обновления индекса до 15–30 минут
Обновление индекса заметно нагружает сервер в рабочее времяУвеличьте интервал и перенесите полное обновление на ночь
Нужен поиск по текстам файловВключите извлечение текстов и вынесите его в отдельное ночное задание
Поиск используется эпизодическиДостаточно обновления 1–2 раза в сутки

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

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

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

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

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

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

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

Итог

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

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

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

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

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

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

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

Ищет ли полнотекстовый поиск по содержимому PDF и Word-файлов?

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

Нужно ли что-то программировать для базового использования?

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

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

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

Работает ли полнотекстовый поиск в файловой базе?

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