Администрирование · 11 мин
Где хранится полнотекстовый поиск 1С и как управлять индексом
Где физически хранится индекс полнотекстового поиска 1С в файловой и клиент-серверной базах, как найти каталог, очистить и перестроить индекс без потери данных.
Полнотекстовый поиск в 1С — это механизм, который позволяет искать документы, справочники и другие объекты по произвольным словам из их содержимого, включая присоединенные файлы. Чтобы поиск работал быстро, платформа заранее строит специальный индекс — отдельный набор служебных данных, который не совпадает с основными таблицами информационной базы. Именно место хранения этого индекса чаще всего интересует администраторов, когда нужно освободить место на диске, перенести базу или исправить ошибки поиска.
Расположение индекса зависит от режима работы базы. В файловом варианте индекс хранится в подкаталоге рядом с файлом базы, а в клиент-серверном варианте — в служебной директории кластера серверов 1С на сервере. Ни в одном из случаев индекс не попадает в выгрузку .dt, поэтому после загрузки базы из выгрузки поиск придётся обновлять заново.
Понимание того, где лежат файлы индекса, позволяет безопасно очищать его вручную, диагностировать проблемы с поиском и не путать индекс с самими данными базы. Удаление индекса не разрушает информацию — платформа способна построить его заново, хотя на больших базах это может занять заметное время.
Что такое индекс полнотекстового поиска и зачем знать его расположение
Индекс полнотекстового поиска — это служебная структура, которую платформа 1С создаёт и поддерживает автоматически. В него попадают тексты из реквизитов объектов, для которых в конфигурации включено свойство «Полнотекстовый поиск», а также содержимое присоединенных файлов (документы Word, PDF и другие форматы, которые платформа умеет разбирать).
Знать расположение индекса нужно в нескольких практических ситуациях: когда база занимает слишком много места и требуется понять, что именно «раздуло» каталог; когда поиск выдаёт ошибки или не находит заведомо существующие документы; когда база переносится на другой сервер и нужно решить, копировать ли индекс; когда планируется регламентное обслуживание дискового пространства.
Где хранится индекс в файловой базе
В файловом варианте работы индекс размещается в отдельном подкаталоге рядом с файлом базы 1Cv8.1CD. Имя каталога формируется от имени папки базы с добавлением суффикса, обычно это выглядит как <ИмяКаталогаБазы>.fulltextsearch. Внутри находятся служебные файлы индекса, которые не предназначены для ручного редактирования.
Чтобы найти каталог, откройте список информационных баз в окне запуска 1С, выделите нужную базу и посмотрите путь в нижней части окна либо в параметрах базы. Затем откройте этот каталог в проводнике — рядом с 1Cv8.1CD вы увидите папку индекса, если полнотекстовый поиск когда-либо включался и обновлялся.
Если папки индекса нет, это означает, что поиск либо отключён, либо индекс ни разу не построен. В этом случае при попытке поиска пользователь получит сообщение о необходимости обновить индекс.
- 1Откройте окно запуска 1С и выделите нужную базу
- 2Скопируйте путь к каталогу базы из строки под списком баз
- 3Откройте каталог в проводнике и найдите 1Cv8.1CD
- 4Рядом найдите подкаталог с суффиксом .fulltextsearch — это и есть индекс
- 5Оцените размер папки через свойства, чтобы понять, сколько места занимает индекс
Где хранится индекс в клиент-серверной базе
В клиент-серверном варианте индекс хранится не в СУБД (MS SQL, PostgreSQL и других), а на сервере 1С:Предприятия — в служебном каталоге кластера. Типовой путь выглядит как каталог srvinfo (например, C:\Program Files\1cv8\srvinfo или /opt/1cv8/srvinfo на Linux), внутри которого находится папка реестра кластера вида reg_1541, а в ней — подкаталоги отдельных информационных баз по их идентификаторам.
Индекс конкретной базы размещается в её подкаталоге внутри этого реестра. Поскольку папки названы GUID-идентификаторами, а не понятными именами, нужную базу проще всего определить через консоль кластера: там у каждой базы указан её идентификатор. Альтернатива — посмотреть, какая из папок растёт по размеру при обновлении индекса конкретной базы.
Учётная запись, от имени которой работает служба агента сервера 1С, должна иметь полный доступ к каталогу srvinfo. Нарушение прав — частая причина того, что обновление индекса завершается ошибкой в клиент-серверной базе, хотя в файловой копии всё работает.
Как включить, обновить и перестроить индекс
Управление индексом выполняется из режима 1С:Предприятие или конфигуратора. В типовых конфигурациях нужный раздел обычно находится в «Администрирование» → «Обслуживание» → «Полнотекстовый поиск» (точное расположение зависит от конфигурации). Там доступны команды включения поиска, обновления индекса и полного перестроения.
Обновление индекса — инкрементальная операция: платформа дочитывает только изменённые с последнего обновления объекты. Полная очистка с последующим обновлением — это перестроение с нуля, оно нужно при повреждении индекса или после массовых изменений данных. На больших базах перестроение может идти часами, поэтому его планируют на нерабочее время.
- 1Убедитесь, что есть свободное место на диске с каталогом базы или srvinfo
- 2Откройте настройки полнотекстового поиска в разделе администрирования
- 3Выполните команду очистки индекса
- 4Запустите обновление индекса и дождитесь завершения
- 5Проверьте поиск по заведомо существующему слову из недавнего документа
Обновление индекса можно автоматизировать через регламентное задание «Обновление индекса ППД», которое присутствует в большинстве типовых конфигураций. Достаточно настроить расписание — например, каждые 15–30 минут или ночью, в зависимости от того, насколько оперативным должен быть поиск по новым документам.
Безопасное удаление и очистка индекса вручную
Иногда требуется удалить индекс напрямую с диска: например, при переносе файловой базы копированием, чтобы не тащить лишние сотни мегабайт, или при повреждении индекса, когда штатная очистка не помогает. Это допустимо, потому что индекс — производная от данных, а не сами данные.
Перед удалением папки индекса файловой базы убедитесь, что с базой никто не работает: все сеансы завершены. В клиент-серверном варианте ручное удаление папок внутри srvinfo выполняйте только при остановленной службе агента сервера либо после отключения базы в консоли кластера — иначе платформа может держать файлы открытыми, а удаление приведёт к ошибкам в журнале.
После ручного удаления запустите базу и выполните обновление индекса. Платформа создаст каталог заново и построит индекс с нуля. До завершения этой процедуры поиск будет возвращать неполные результаты или сообщение о необходимости обновления.
Типичные проблемы и их диагностика
Самая частая жалоба — поиск «не находит» свежие документы. Причина почти всегда в том, что индекс давно не обновлялся: регламентное задание отключено, завершалось с ошибкой или вообще не настроено. Проверьте дату последнего обновления в настройках полнотекстового поиска и журнал регистрации на предмет ошибок задания.
Вторая типичная ситуация — ошибки обновления индекса в клиент-серверной базе. Обычно виноваты права доступа к srvinfo, переполненный диск на сервере или повреждённые файлы индекса. Лечение — проверка свободного места, прав учётной записи агента сервера и, при необходимости, полная очистка с перестроением.
Как проверить результат
Дата свежая, соответствует расписанию задания
Дата старая или пустая — индекс не обновляется
Документ находится после обновления индекса
Документ не найден даже после обновления — проверяйте свойства полнотекстового поиска у реквизитов
Есть запас свободного места
Диск заполнен — обновление индекса будет падать с ошибкой
Третья проблема — поиск не находит текст из присоединенных файлов. Платформа извлекает текст не из всех форматов, а защищённые паролем или состоящие из сканов без текстового слоя документы не индексируются вовсе. Это ограничение механизма, а не ошибка хранения индекса.
Выгрузка, перенос и резервное копирование индекса
Индекс полнотекстового поиска не входит ни в выгрузку информационной базы (.dt), ни в резервные копии, сделанные средствами СУБД. Это осознанное решение платформы: индекс объёмен и легко перестраивается, поэтому таскать его в бэкапах нерационально.
При переносе файловой базы достаточно скопировать файл 1Cv8.1CD — индекс на новом месте создаётся обновлением. Копировать папку индекса имеет смысл, только если база очень большая и хочется сэкономить время на перестроении; при этом версии платформы на источнике и приёмнике должны совпадать, иначе индекс может оказаться несовместимым.
Что важно запомнить
Индекс полнотекстового поиска хранится отдельно от данных: в файловой базе — в подкаталоге .fulltextsearch рядом с 1Cv8.1CD, в клиент-серверной — внутри srvinfo кластера на сервере 1С. Индекс не входит в выгрузки и бэкапы, его можно безопасно удалять и перестраивать штатным обновлением.
Частые вопросы о хранении полнотекстового поиска 1С
Почему после загрузки базы из .dt перестал работать поиск?
Потому что индекс не включается в файл выгрузки. После загрузки базы откройте настройки полнотекстового поиска и выполните обновление индекса — платформа построит его заново по загруженным данным.
Можно ли удалить папку индекса, чтобы освободить место?
Да, индекс — это производная от данных, а не сами данные. В файловой базе удаляйте папку при закрытых сеансах, в клиент-серверной — при остановленной службе агента сервера. После этого выполните обновление индекса, иначе поиск работать не будет.
Хранится ли индекс в базе данных SQL Server?
Нет. В клиент-серверном варианте индекс размещается в файловой системе сервера 1С:Предприятия — внутри служебного каталога srvinfo кластера, в подпапке конкретной информационной базы. Резервное копирование средствами СУБД его не охватывает.
Почему поиск не находит текст из прикреплённых PDF-файлов?
Платформа извлекает текст только из поддерживаемых форматов и только если в файле есть текстовый слой. Сканированные документы без распознавания и файлы, защищённые паролем, в индекс не попадают — это ограничение механизма, а не проблема хранения.
Как узнать, какая папка в srvinfo принадлежит нужной базе?
Откройте консоль кластера серверов 1С и посмотрите идентификатор (GUID) информационной базы — подкаталог внутри реестра кластера будет назван этим идентификатором. Косвенный способ — сравнить размеры папок и даты изменения с моментом последнего обновления индекса.
Нужно ли копировать папку индекса при переносе файловой базы?
Не обязательно: достаточно перенести файл 1Cv8.1CD и обновить индекс на новом месте. Копирование папки оправдано только для очень больших баз, чтобы сэкономить время перестроения, и при условии, что версия платформы на новом месте та же.