Полнотекстовый поиск (ППС) — это мощный инструмент платформы 1С:Предприятие 8.3, который позволяет мгновенно находить данные по ключевым словам во всех справочниках и документах. Однако часто пользователи и администраторы сталкиваются с ситуацией, когда поиск через Ctrl+F перестает работать, а дата актуальности индекса в настройках «застывает» на старой отметке. Даже запуск регламентных заданий вручную не всегда приносит результат.
В этой статье мы подробно разберем, почему индекс может перестать обновляться и какими методами — от стандартных до радикальных — можно вернуть работоспособность поисковой системе.
Прежде чем переходить к удалению файлов или изменению конфигурации, проверим стандартный механизм очистки и перестроения индекса. В современных версиях «1С:Бухгалтерия 3.0» этот функционал вынесен в раздел администрирования.
Разберем последовательность действий:
Если через стандартный интерфейс обновление проходит за полсекунды и дата не меняется, значит, система столкнулась с ошибкой доступа или блокировкой, которую мы рассмотрим далее.
Проанализируем работу фоновых процессов. Индексация в 1С выполняется не основным сеансом пользователя, а специальными фоновыми заданиями. Рассмотрим две основные причины их неработоспособности:
Во-первых, в клиент-серверном варианте работы в консоли администрирования кластера серверов 1С может быть установлена галочка Блокировка регламентных заданий включена. Если она стоит, никакие попытки обновить индекс из пользовательского интерфейса не увенчаются успехом, так как сервер просто блокирует запуск фонового процесса ОбновлениеИндексаППС.
Во-вторых, необходимо убедиться, что регламентные задания не зависли. Для этого рекомендуется использовать обработку Консоль заданий. Найдем в списке два ключевых задания:
Обновление индекса полнотекстового поиска — отвечает за добавление новых данных в индекс.Слияние индекса полнотекстового поиска — отвечает за оптимизацию и окончательную актуализацию даты индекса.Если «Слияние» не выполняется, дата актуальности основного индекса не изменится, даже если фактически новые документы уже начали находиться поиском. Запустим «Слияние» принудительно через консоль заданий.
Если программная очистка не помогает, вероятно, файлы индекса повреждены. Проанализируем ситуацию: платформа не может записать данные в поврежденный файл и прерывает операцию без вывода ошибки пользователю. В этом случае нам потребуется ручное вмешательство.
Для файловой информационной базы:
1Cv8FTxt. В этой директории хранятся все данные полнотекстового поиска.1Cv8FTxt_old).Для клиент-серверной информационной базы:
services.msc).C:\Program Files\1cv8\srvinfo.1Cv8FTxt.Обратим внимание, что после физического удаления первичная индексация может занять значительное время (от нескольких минут до часов, в зависимости от объема данных).
Выясним причину, по которой сервер 1С может не иметь возможности обновить индекс. Часто проблема кроется в правах операционной системы:
1C:Enterprise 8.3 Server Agent. У этого пользователя должны быть полные права (Full Control) на папку srvinfo и все вложенные каталоги.chown -R 1cv8:grp1cv8) на папку с индексами.Если поиск не работает по конкретному виду документов (например, не ищутся только «Счета-фактуры»), проанализируем настройки метаданных в Конфигураторе:
Использовать. Если выбрано Не использовать, данные объекта никогда не попадут в индекс.Рассмотрим пример кода, с помощью которого можно программно проверить состояние индекса и запустить его обновление из внешней обработки или консоли:
// Проверим, разрешено ли использование полнотекстового поиска в системе
Если ПолнотекстовыйПоиск.ПолучитьИспользование() Тогда
// Запустим обновление индекса в полнофункциональном режиме
ПолнотекстовыйПоиск.Обновить(Ложь); // Ложь означает частичное обновление
КонецЕсли;
Параметр Ложь в методе Обновить() указывает системе на необходимость порционного добавления данных. Если передать Истина, будет предпринята попытка полного перестроения, что может заблокировать работу пользователей на длительное время.
Мы рассмотрели комплексный подход к восстановлению полнотекстового поиска. В большинстве случаев проблема решается либо через очистку и обновление в интерфейсе, либо через физическое удаление папки 1Cv8FTxt при выключенной службе сервера. Не забывайте контролировать работу регламентных заданий СлияниеИндексаППС, так как именно они отвечают за финальную актуализацию даты состояния поиска.