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

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

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

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

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

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

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

Ниже разберем, как устроен полнотекстовый поиск, как его включить и настроить, какие ограничения у него есть и в каких случаях стоит рассмотреть альтернативы.

Как устроен полнотекстовый поиск в 1С

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

Когда пользователь вводит запрос, платформа не перебирает все документы подряд, а обращается к индексу. Поэтому поиск выполняется быстро даже в базах с сотнями тысяч документов. Платформа поддерживает поиск с учетом словоформ («накладная» найдет и «накладной», и «накладные»), поиск по точной фразе в кавычках, логические операторы И/ИЛИ и поиск с учетом или без учета регистра.

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

Чем полнотекстовый поиск отличается от обычного

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

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

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

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

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

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

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

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

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

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

Чтобы поиск был эффективным, полезно знать базовый синтаксис запросов:

  • Несколько слов через пробел — найдутся объекты, где встречаются все указанные слова (логическое И);
  • Оператор ИЛИ (или |) — объекты, где есть хотя бы одно из слов;
  • Фраза в кавычках — поиск точного словосочетания, например "акт сверки взаиморасчетов";
  • Восклицательный знак перед словом — исключить объекты с этим словом;
  • Звездочка () — поиск по маске начала слова, например «догов» найдет «договор», «договора», «договору».

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

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

Ограничения и типичные проблемы

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

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

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

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

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

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

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

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

Дата последнего обновления индекса
Норма

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

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

Индекс не обновлялся днями или неделями

Поиск нового тестового документа
Норма

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

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

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

Журнал регламентного задания
Норма

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

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

Ошибки выполнения, задание отключено

Полнота результатов
Норма

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

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

Часть объектов стабильно не находится

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

Когда полнотекстового поиска недостаточно

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

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

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

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

Поиск нужен по текстам документов и справочников внутри 1СВключите штатный полнотекстовый поиск и настройте расписание обновления индекса
Нужно искать по содержимому сканов и фотоСначала внедрите OCR-обработку файлов, затем индексируйте распознанный текст
Поиск не находит нужные реквизитыЗадача для разработчика: включить нужные поля в состав индексируемых данных
Нужен поиск с опечатками и продвинутым ранжированиемРассмотрите интеграцию с внешним поисковым движком как отдельный проект

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

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

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

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

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

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

Да, для форматов, которые платформа умеет разбирать: текстовые файлы, документы Word, Excel и подобные. Сканированные изображения без текстового слоя индексируются только по имени файла.

Видит ли пользователь в результатах объекты, к которым у него нет прав?

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

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

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

Нужно ли что-то устанавливать дополнительно для полнотекстового поиска?

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

Итог

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

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