С выходом платформы 1С:Предприятие 8.3.22 разработчики представили кардинально обновленный механизм полнотекстового поиска (ППД), получивший название Версия 2. Многие администраторы и программисты заметили появление новых папок в каталоге индексов, однако простое обновление индекса через стандартное меню «Управление полнотекстовым поиском» зачастую не приводит к переходу на новую технологию. В этой статье мы подробно разберем, как активировать этот механизм, какие системные требования необходимо соблюсти и в чем заключаются его ключевые преимущества.
Прежде чем переходить к технической реализации, проанализируем, почему переход на вторую версию является оправданным шагом для крупных информационных баз:
Рассмотрим важнейшее техническое требование: новый поисковый сервер (searchserver.exe) базируется на технологиях Java. Без предварительной настройки окружения переход на Версия2 будет невозможен.
Выясним основные требования к среде исполнения:
PATH или сервер 1С имеет к нему доступ.Проанализируем сетевые настройки: поисковый сервер по умолчанию использует порт 8983. Если на вашем сервере данный порт занят другим программным обеспечением, необходимо это учесть при настройке брандмауэра или освободить порт.
Важно понимать, что в интерфейсе обычных конфигураций (например, «1С:Бухгалтерия 3.0» или «1С:ERP») на данный момент может отсутствовать интерактивная кнопка для смены версии. Платформа по умолчанию продолжает использовать Версия1 для обеспечения совместимости.
Для перехода на новую версию нам потребуется выполнить программный код. Рассмотрим, как это сделать правильно. Переключение должно выполняться в монопольном режиме (когда в базе нет активных сеансов, кроме вашего).
Разберем пример кода, который необходимо запустить, например, через внешнюю обработку или в консоли кода:
// Устанавливаем монопольный доступ для корректной смены версии
УстановитьМонопольныйРежим(Истина);
// Переключаем полнотекстовый поиск на новую версию
ПолнотекстовыйПоиск.УстановитьВерсиюПолнотекстовогоПоиска(ВерсияПолнотекстовогоПоиска.Версия2);
// Снимаем монопольный режим
УстановитьМонопольныйРежим(Ложь);
Сообщить("Переход на версию 2 полнотекстового поиска успешно инициирован.");
При выполнении метода УстановитьВерсиюПолнотекстовогоПоиска система автоматически проверяет доступность Java. Если среда не установлена или недоступна, 1С выдаст диагностическое сообщение с описанием ошибки.
После того как мы программно изменили версию, текущие индексы от первой версии становятся неактуальными. Система создаст новую структуру файлов в подкаталоге v2 папки полнотекстового поиска.
Выполним следующие действия по шагам:
v1 перестали обновляться, а в папке v2 (или аналогичной новой структуре) появились актуальные данные.Полезный совет: Файлы старого индекса (версии 1) не удаляются автоматически. После того как вы убедитесь, что новый поиск работает корректно и полностью устраивает пользователей, старые файлы можно удалить вручную для экономии места на сервере.
Часто возникает вопрос: можно ли использовать поиск v2, если конфигурация работает в режиме совместимости, например, с версией 8.3.21? Ответ — да. Если сама платформа обновлена до 8.3.22 и выше, функционал Версия2 доступен программно вне зависимости от режима совместимости метаданных, так как это свойство серверного механизма платформы.
Если после выполнения кода поиск не заработал, проанализируем возможные причины:
searchserver.exe. Если он отсутствует, значит, служба не смогла запуститься (чаще всего из-за Java или занятого порта).rphost. Убедитесь, что серверу достаточно ресурсов для развертывания JVM (Java Virtual Machine).Таким образом, мы выяснили, что переход на новый механизм полнотекстового поиска требует не только обновления платформы, но и осознанной настройки серверного окружения. Использование метода ПолнотекстовыйПоиск.УстановитьВерсиюПолнотекстовогоПоиска() открывает доступ к современным алгоритмам поиска, которые значительно повышают стабильность и скорость работы системы.