Полнотекстовый поиск в 1С 8.3: включение, индекс и ошибки
Содержание
Чтобы запустить полнотекстовый поиск в 1С 8.3, включите флажок в Администрирование → Общие настройки (группа «Полнотекстовый поиск»), затем постройте индекс кнопкой «Обновить индекс» и убедитесь, что работают регламентные задания обновления и слияния индекса. Без последнего поиск включится, но через неделю перестанет находить новые документы.
Механизм общий для платформы: одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях на библиотеке стандартных подсистем. Отличаются только мелочи формы настроек. Чаще всего поиск не заводится не из-за флажка, а из-за прав на папку индекса, антивируса и заблокированных регламентных заданий.
Что проверить до включения поиска
Полнотекстовый поиск строит отдельный индекс — набор файлов рядом с базой. Индекс не хранится в таблицах базы, поэтому у него свои требования к диску и правам.
📌 Что нужно подготовить:
- 💾 Свободное место. Индекс занимает примерно 10–30% от объёма данных базы. Для базы в 20 ГБ закладывайте 3–6 ГБ с запасом на слияние: при слиянии временно нужны две копии.
- 🔐 Права на запись. В файловой базе индекс лежит в папке
1Cv8FTxtвнутри каталога базы. Пользователи Windows должны иметь право на запись в этот каталог. В клиент-серверной базе индекс хранится в каталоге кластера, обычноsrvinfo\reg_1541\<GUID базы>\1Cv8FTxt, и писать туда должна учётная запись службы сервера 1С (по умолчаниюUSR1CV8). - 🛡 Антивирус. Добавьте папку
1Cv8FTxtв исключения проверки «на лету». Антивирус, который сканирует каждый файл индекса при записи, замедляет обновление в разы и иногда блокирует файлы. - ⏰ Окно для первого построения. Первая индексация большой базы идёт часами и грузит процессор. Запускайте вечером или в выходной.
Служба Windows Search («Индексирование») к поиску в 1С отношения не имеет. Включать или настраивать её не нужно — 1С строит индекс своими средствами.
Ещё одна проверка — какие данные вообще попадут в индекс. Это задаётся в конфигураторе свойством «Полнотекстовый поиск» у каждого справочника, документа и реквизита. В типовых конфигурациях оно уже выставлено разумно, менять его в поддерживаемой типовой не стоит.
Включаем полнотекстовый поиск в интерфейсе 1С
Есть два способа. Первый — через настройки конфигурации, второй — через служебную форму платформы. Результат одинаковый, но первый удобнее: он сразу показывает состояние индекса.
Способ 1. Через раздел «Администрирование»
- Откройте
Администрирование → Общие настройки. - Найдите группу «Полнотекстовый поиск» и установите флажок включения поиска.
- Перейдите по ссылке настройки рядом с флажком — откроется форма управления индексом.
- Нажмите «Обновить индекс» и дождитесь окончания.
- Проверьте надпись о состоянии: индекс должен быть актуален, с датой последнего обновления.
Флажок доступен только пользователю с полными правами. Если группы нет на экране, проверьте, что вы вошли под администратором.
Способ 2. Через «Все функции»
Этот путь работает в любой конфигурации, даже нетиповой:
- Включите показ команды: главное меню (кнопка с тремя полосками) →
Сервис → Параметры→ флажок «Отображать команду “Все функции”». - Откройте
Все функции → Стандартные → Управление полнотекстовым поиском. - Нажмите «Разрешить полнотекстовый поиск».
- Нажмите «Обновить индекс».
В этой же форме видно, когда индекс обновлялся в последний раз, и есть кнопки «Очистить индекс » и слияния.
Если в типовой конфигурации включить поиск только через «Все функции», флажок в «Общих настройках» может остаться снятым, а регламентные задания — выключенными. Для БП, ЗУП и УТ используйте способ 1: он включает и поиск, и задания обновления.
Сервер 1С и консоль кластера: где работает индексация
Отдельной «службы индексации» у 1С нет. Индекс обновляют рабочие процессы сервера через регламентные задания. Поэтому в клиент-серверной базе поиск чаще всего не работает не из-за настроек в программе, а из-за настроек кластера.
Проверка в консоли администрирования
Откройте консоль администрирования серверов 1С:Предприятия и проверьте три вещи:
- Блокировка регламентных заданий. Откройте свойства информационной базы. Флажок «Блокировка регламентных заданий включена» должен быть снят. Его часто ставят на копиях баз и забывают снять в рабочей — тогда индекс не обновляется никогда.
- Требования назначения функциональности. В свойствах рабочего сервера, если заданы правила, найдите тип объекта «Сервис полнотекстового поиска». Если для него стоит «Не назначать» на всех серверах, поиск в этой базе работать не будет.
- Фоновые задания и место. На сервере, где выполняются фоновые задания, должен быть свободный диск в каталоге кластера.
Изменения в свойствах рабочего сервера применяются к кластеру целиком. Делайте их вне рабочего времени: при перезапуске рабочих процессов у пользователей оборвутся сеансы.
Особенность файловой базы
В файловом варианте регламентные задания выполняет один из клиентских сеансов. Если вечером все вышли из программы, ночью индекс не обновится — обновление пойдёт, когда кто-то снова войдёт. Для небольшой базы это нормально. Если документов много и поиск нужен по свежим данным, есть два выхода:
- 🖥 держать запущенный сеанс на отдельном компьютере;
- 🔄 перевести базу в клиент-серверный режим.
Индекс: первое построение, обновление и слияние
Индекс состоит из двух частей: основной и дополнительной. Новые и изменённые данные сначала пишутся в дополнительный индекс. Слияние переносит их в основной. Так обновление идёт быстро, а поиск остаётся точным.
Какие регламентные задания отвечают за поиск
В типовых конфигурациях за индекс отвечают два задания:
| Задание | Что делает | Разумная частота |
|---|---|---|
| Обновление индекса полнотекстового поиска | Добавляет изменённые данные в индекс | каждые 5–15 минут днём |
| Слияние индекса полнотекстового поиска | Объединяет основной и дополнительный индекс | раз в сутки, ночью |
Посмотреть и изменить расписание можно в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Откройте задание и проверьте, что оно включено, и что в колонке результата нет ошибок.
Если документы «есть, но не находятся»
Обычно это значит, что индекс отстал. Порядок действий:
- Откройте форму управления полнотекстовым поиском.
- Посмотрите дату последнего обновления. Если она старше суток — задание обновления не выполняется.
- Нажмите «Обновить индекс» вручную.
- Разберитесь с причиной по журналу регистрации: отбор по событию «Регламентное задание».
Поиск по вложенным файлам
Типовые конфигурации умеют искать и по тексту приложенных файлов — договоров, писем, сканов с текстовым слоем. Для этого отдельное задание сначала извлекает текст из файла, потом он попадает в индекс.
Для документов Word и Excel обычно хватает стандартных средств. Для PDF на сервере Windows нужен установленный фильтр PDF (iFilter), иначе текст из PDF не извлекается. Сканы без распознанного текста в поиск не попадут вообще.
Как правильно искать: язык запросов
Поиск запускается из поля в верхней части окна 1С (глобальный поиск, Ctrl+F) или из формы полнотекстового поиска. Он учитывает словоформы: по запросу «договор» найдутся «договора» и «договором».
Основные операторы:
| Запрос | Что найдёт |
|---|---|
Ромашка поставка | данные, где есть оба слова |
Ромашка ИЛИ Лютик | любое из двух слов |
Ромашка НЕ аренда | первое слово без второго |
"Ромашка плюс" | точную фразу |
Ромаш* | слова, начинающиеся на «ромаш» |
💡 Звёздочку ставьте только в конце слова и не короче 3–4 букв перед ней. Запрос вида ро* перебирает огромную часть индекса и работает медленно.
Поиск по ИНН, номеру счёта или телефону работает, если этот реквизит включён в индекс. Если по номеру ничего не находится, а по названию находится — реквизит исключён из полнотекстового поиска в конфигурации.
Почему полнотекстовый поиск не запускается или ничего не находит
Ниже — симптомы, которые встречаются на практике, и проверки по каждому. Сначала выберите свой случай.
Пересоздание индекса: когда и как
Полное пересоздание — универсальное лекарство от повреждённого индекса. Делается из формы управления:
- Нажмите «Очистить индекс».
- Нажмите «Обновить индекс».
- Дождитесь окончания и проверьте дату обновления.
На время построения поиск в базе выдаёт неполные результаты. Предупредите пользователей и запускайте пересоздание вне рабочего времени. Пользователей при этом выгонять из базы не нужно — работа с документами продолжается.
Удалять папку 1Cv8FTxt вручную стоит только если кнопка очистки сама падает с ошибкой. Для клиент-серверной базы перед этим остановите службу сервера 1С — у всех пользователей кластера оборвутся сеансы, поэтому делайте это ночью или в выходной.
Как ускорить индексацию и не тормозить базу
Полнотекстовый поиск сам по себе почти не нагружает базу. Тормоза появляются из-за неудачного расписания и лишних данных в индексе.
✅ Что помогает на практике:
- ⏱ Разведите задания по времени. Обновление — часто и мелкими порциями, слияние — ночью, когда нет пользователей и не идёт резервное копирование.
- 🚫 Не ставьте слияние на время бэкапа или закрытия месяца. Оба процесса активно пишут на диск.
- 💽 Держите каталог кластера на SSD. Индекс — это много мелких файлов, на HDD обновление идёт заметно медленнее.
- 🛡 Исключения в антивирусе — для
1Cv8FTxtи всего каталогаsrvinfo. - 🧹 Регулярное слияние. Если слияние долго не выполнялось, дополнительный индекс разрастается, и поиск замедляется. Признак — растёт время ответа глобального поиска.
Мини-кейс: индекс не обновлялся полтора месяца
Бухгалтерия на сервере 1С, около 30 пользователей. Жалоба: глобальный поиск не находит контрагентов, заведённых в последние недели. Флажок поиска включён, задания в списке включены.
Проверка показала: дата последнего обновления индекса — полтора месяца назад. В тот день базу копировали для тестирования обновления. На копии поставили блокировку регламентных заданий, а потом рабочую базу восстановили из этой копии вместе с флажком. После снятия блокировки в консоли кластера индекс догнал данные за одну ночь.
Вывод простой: после любого восстановления или копирования базы откройте её свойства в консоли и проверьте блокировку заданий. Это занимает минуту.
Когда поиск лучше не включать
Если в базе работают 2–3 человека, документов немного, а ищут в основном по номеру и контрагенту, — хватит обычного поиска в списках. Полнотекстовый индекс в такой базе только занимает место и даёт лишнюю нагрузку при каждой записи.
И наоборот: при десятках тысяч контрагентов, номенклатуры и приложенных файлов без полнотекстового поиска работать неудобно. Там его включают сразу после внедрения.