Администрирование · 12 мин
Полнотекстовый поиск в 1С: что это значит и как им пользоваться
Что значит полнотекстовый поиск в 1С, чем он отличается от обычного поиска по строке, как включить индексацию, обновить индекс и исправить типичные ошибки поиска.
Полнотекстовый поиск в 1С — это механизм платформы, который ищет документы и элементы справочников по содержимому их текстовых полей, а не только по наименованию или номеру. Он работает по принципу поисковых систем: заранее строит специальный индекс из всех слов базы, а затем находит совпадения по этому индексу за доли секунды, даже если в базе сотни тысяч объектов.
Без полнотекстового поиска найти документ «где-то в комментарии упоминался договор с поставщиком» практически невозможно: стандартный поиск по строке перебирает только ограниченный набор полей и работает медленно на больших объёмах. Полнотекстовый поиск учитывает морфологию русского языка — по запросу «накладная» он найдёт и «накладные», и «накладной», и «накладных».
Механизм доступен во всех современных конфигурациях на управляемых формах: 1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP, 1С:Зарплата и управление персоналом и других. Однако по умолчанию он часто отключён или индекс давно не обновлялся — и тогда пользователи жалуются, что «поиск ничего не находит».
Чем полнотекстовый поиск отличается от обычного поиска
Обычный поиск (по строке в списке, по подстроке в запросе с оператором ПОДОБНО) сканирует конкретные поля конкретной таблицы. Он не понимает словоформы, не ранжирует результаты и на больших таблицах выполняется медленно, потому что перебирает записи напрямую. Кроме того, поиск по подстроке с помощью ПОДОБНО не использует стандартные индексы СУБД, если шаблон начинается со спецсимвола.
Полнотекстовый поиск работает иначе. Платформа заранее разбирает тексты всех объектов на отдельные слова, приводит их к базовым формам и записывает в отдельный индекс. При поиске система сравнивает запрос с индексом, а не с данными — поэтому скорость почти не зависит от размера базы. Результаты сортируются по релевантности: наиболее подходящие документы показываются первыми.
Сравнение вариантов поиска
Подходит для поиска по содержимому всей базы: комментарии, описания, тексты писем, наименования. Требует включения и обновления индекса.
Подходит для быстрого поиска по наименованию или номеру в открытом списке. Не ищет по словоформам и не охватывает все объекты.
Подходит для отчётов и обработок по конкретным полям. Медленный на больших таблицах, не учитывает морфологию.
Как включить полнотекстовый поиск в 1С
В пользовательском режиме (режиме «Предприятие») управление поиском обычно находится в разделе администрирования. В типовых конфигурациях путь выглядит примерно так: «Администрирование» → «Общие настройки» → «Полнотекстовый поиск» (в некоторых конфигурациях раздел называется «Поиск» или находится в «Настройках работы с файлами»). Точное расположение зависит от конфигурации и её версии.
Для включения нужно установить флаг использования полнотекстового поиска. После этого платформа начнёт строить индекс. Первичное индексирование большой базы может занять значительное время — от нескольких минут до нескольких часов, поэтому его лучше запускать в нерабочее время.
- 1Откройте «Администрирование» → «Общие настройки» и найдите раздел полнотекстового поиска
- 2Установите флаг «Использовать полнотекстовый поиск» и сохраните настройки
- 3Дождитесь завершения первичного построения индекса — статус отображается в том же разделе
- 4Проверьте поиск: введите слово из комментария любого документа и убедитесь, что документ найден
В клиент-серверном варианте индекс строится на сервере 1С, и пользователи могут продолжать работать. В файловом варианте при массовом индексировании возможны блокировки — это ещё один аргумент запускать процедуру вне рабочих часов.
Как устроен индекс и почему его нужно обновлять
Индекс полнотекстового поиска — это отдельная структура данных, которую платформа хранит вместе с базой. Он не обновляется автоматически при каждой записи документа: если вы создали документ сегодня, а индекс обновлялся неделю назад, новый документ в результатах поиска не появится. Это самая частая причина жалоб «поиск не находит свежие документы».
Обновление бывает двух видов. Полное обновление перестраивает индекс целиком — оно нужно после включения поиска, после массовой загрузки данных или при повреждении индекса. Частичное (инкрементальное) обновление добавляет в индекс только изменённые с прошлого раза объекты — оно выполняется быстро и подходит для регулярного расписания.
В типовых конфигурациях обычно предусмотрено регламентное задание «Обновление индекса полнотекстового поиска». Проверьте в разделе «Регламентные и фоновые задания», что оно активно и расписание соответствует интенсивности работы: при ежедневном вводе десятков документов разумно обновлять индекс ежедневно ночью или несколько раз в день.
Как пользоваться поиском: синтаксис и возможности
Строка полнотекстового поиска в типовых конфигурациях обычно расположена в верхней части окна (поле «Найти» с иконкой лупы). Просто введите слово или фразу — система найдёт объекты, где они встречаются, и покажет список с указанием типа объекта, даты и фрагмента текста, где найдено совпадение.
Поиск поддерживает операторы для уточнения запроса. Пробел между словами обычно трактуется как логическое «И» — будут найдены объекты, содержащие все указанные слова. Доступны также кавычки для точной фразы, символ * для поиска по части слова и логические операторы И/ИЛИ/НЕ (в расширенном синтаксисе).
Найдутся объекты, где есть и «договор», и «поставка»
Найдутся объекты, где слова идут подряд именно в таком виде
Найдутся «накладная», «накладные», «накладным» и другие формы
Настройка состава индексируемых данных
Не все поля объектов попадают в индекс. Платформа индексирует те реквизиты, у которых в конфигураторе установлено свойство «Полнотекстовый поиск — Использовать». В типовых конфигурациях этот набор уже настроен разработчиками: обычно индексируются наименования, комментарии, описания, тексты писем и другие содержательные текстовые поля.
Если вы дорабатываете конфигурацию и добавляете собственный реквизит с текстом (например, «Примечания» в документе), чтобы он участвовал в поиске, откройте свойства реквизита в конфигураторе и установите признак использования полнотекстового поиска. После изменения структуры метаданных потребуется обновить конфигурацию базы данных и выполнить полное переиндексирование.
Индексировать стоит только действительно текстовые поля, по которым осмыслен поиск. Включение лишних реквизитов раздувает индекс, замедляет его обновление и засоряет результаты нерелевантными совпадениями.
Полнотекстовый поиск не ищет по содержимому присоединенных файлов (PDF, Word) сам по себе — для этого в типовых конфигурациях существует отдельный механизм извлечения текстов из файлов. Если нужно искать по содержимому документов Word, проверьте, включено ли извлечение текстов в настройках работы с файлами.
Типичные проблемы и их решение
Чаще всего пользователи сталкиваются с тремя ситуациями: поиск не находит свежие документы, поиск вообще ничего не находит, поиск работает очень медленно. У каждой есть конкретная причина и способ проверки.
Если не находятся новые документы — индекс устарел. Откройте раздел полнотекстового поиска в настройках и посмотрите дату последнего обновления. Если она старая, выполните обновление вручную и настройте регламентное задание. Если поиск не находит даже старые документы — вероятно, механизм отключён или индекс повреждён: проверьте флаг использования и выполните полное переиндексирование.
Медленная работа поиска чаще связана с перегруженным сервером или чрезмерно большим индексом. Проверьте, не индексируются ли лишние данные, и убедитесь, что обновление индекса не запускается в разгар рабочего дня, конкурируя за ресурсы с пользователями.
Когда полнотекстовый поиск не поможет: ограничения и альтернативы
Полнотекстовый поиск не заменяет отчёты и отборы. Он не подходит для задач вида «покажи все документы за период с суммой больше заданной» — такие выборки правильно делать отборами в списках или отчётами. Поиск также не понимает смысла запроса: он ищет слова, а не отвечает на вопросы.
Ещё одно ограничение — поиск не учитывает опечатки в запросе пользователя. Если сотрудник ищет «паставщик» вместо «поставщик», результатов может не быть. В такой ситуации помогает поиск по маске с символом * или уточнение запроса. Также помните, что поиск работает только по тем объектам, к которым у пользователя есть права доступа — результаты у разных сотрудников могут отличаться, и это нормально.
Как выбрать действие
Контрольные точки: как проверить, что поиск работает правильно
После настройки полезно выполнить короткую проверку, чтобы убедиться, что механизм работает как ожидается. Возьмите заведомо известный документ с уникальным словом в комментарии, найдите его через поиск, затем создайте новый документ, обновите индекс и повторите проверку.
Как проверить результат
Свежая дата, соответствующая расписанию регламентного задания
Дата недельной или месячной давности при ежедневной работе с базой
Документ найден, показан фрагмент текста с подсветкой
Документ не найден или найдены посторонние объекты
Объект найден благодаря учёту морфологии
Находится только точное написание — возможно, поиск выполняется не полнотекстовым механизмом
Что важно запомнить
Полнотекстовый поиск в 1С — индексированный поиск по содержимому базы с учётом словоформ. Включите его в настройках администрирования, настройте регулярное обновление индекса регламентным заданием и проверяйте актуальность индекса, если поиск «не находит» свежие документы.
Часто задаваемые вопросы
Чем полнотекстовый поиск отличается от поиска по строке в списке?
Поиск по строке в форме списка ищет только по отображаемым полям конкретного списка и не понимает словоформы. Полнотекстовый поиск охватывает всю базу, учитывает морфологию и ранжирует результаты по релевантности.
Почему поиск не находит документ, созданный сегодня?
Индекс обновляется по расписанию, а не в момент записи документа. Проверьте дату последнего обновления индекса в настройках и при необходимости выполните обновление вручную или настройте более частое расписание регламентного задания.
Замедляет ли полнотекстовый поиск работу базы?
Сам по себе поиск не замедляет работу, но построение и обновление индекса потребляют ресурсы. Поэтому полное индексирование рекомендуется запускать в нерабочее время, а регулярное обновление делать инкрементальным — оно выполняется быстро.
Ищет ли полнотекстовый поиск по содержимому прикреплённых файлов?
Нет, по умолчанию содержимое файлов не индексируется. В типовых конфигурациях есть отдельный механизм извлечения текстов из файлов — его нужно включить в настройках работы с файлами, после чего тексты из Word, PDF и других форматов попадут в индекс.
Почему разные пользователи видят разные результаты поиска?
Полнотекстовый поиск учитывает права доступа: пользователь видит в результатах только те объекты, на просмотр которых у него есть права. Разный состав результатов у сотрудников с разными ролями — нормальное и правильное поведение.
Можно ли искать с учётом опечаток?
Стандартный полнотекстовый поиск не исправляет опечатки в запросе. Если точное написание неизвестно, используйте маску со звёздочкой (например, «постав*») или попробуйте несколько вариантов написания слова.