При работе в 1С с большими высоконагруженными базами часто возникает проблема с поиском данных: пользователи сталкиваются с долгим поиском на формах списков документов и справочников, журналов документов.
Дело в том, что для поиска в динамических списках используется функционал полнотекстового поиска. Вот несколько причин, по которым может возникать проблема с полнотекстовым поиском в системе 1С:
- Устаревшие индексы полнотекстового поиска данных. Обновление индекса происходит автоматически в фоновом режиме, но из-за сбоя программы операция может быть прервана или отменена. Чтобы решить проблему, нужно очистить индекс поиска, выполнить обновление и проверить настройку расписания автоматического обновления индекса в регламентных задачах.
Рисунок 1 — Очищение индекса поиска
- «Битые» ссылки на элементы базы. Это происходит, если нарушена ссылочная или логическая целостность объектов, которые отбираются функцией «Поиск». В таком случае нужно восстановить логическую и ссылочную целостность базы встроенным механизмом конфигуратора (Тестирование и исправление).
Рисунок 2 — Тестирование и исправление информационной базы
Если все рекомендации выполнены и после обновления индекса поиск все равно не отрабатывает (или через некоторый промежуток времени поиск опять не работает), необходимо рассмотреть переход с версии 1 на версию 2 полнотекстового поиска. По умолчанию установлена версия 1 Полнотекстового поиска.
Рассмотрим переход на полнотекстовый поиск версии 2 и его ключевые преимущества.
- Кардинальное упрощение администрирования (Самая важная причина)
Версия 1: Требует постоянного внимания. Вам необходимо было настраивать и следить за работой регламентного задания, которое периодически обновляет индекс. Если задание остановилось или работало редко — поиск выдавал неактуальные результаты. Также требовалась отдельная процедура «слияния индексов», которая могла занимать много времени и нагружать систему.
Версия 2: Работает «сама по себе». Система автоматически и непрерывно обновляет индекс сразу после изменения данных в базе. Вам больше не нужно ничего настраивать, контролировать или запускать вручную. Это экономит время администратора и гарантирует, что поиск всегда актуален.
- Высокая скорость и стабильность поиска
Версия 1: Использует два индекса — основной и дополнительный (для новых изменений). Поиск по дополнительному индексу происходит медленнее. Пока не выполнено слияние, общая скорость поиска может быть неоптимальной.
Версия 2: Использует единый, всегда актуальный индекс. Это означает, что любой поисковый запрос выполняется с максимальной скоростью, так как системе не нужно «склеивать» результаты из двух разных мест.
- Более точные и релевантные результаты
Чувствительность к букве «Ё»: В версии 2 слова «еж» и «ёж» — это разные слова. Это повышает точность поиска. Если в ваших данных важно различать такие слова (например, в фамилиях или технических терминах), версия 2 даст более корректный результат.
Улучшенное ранжирование: Алгоритмы ранжирования результатов в версии 2 более современные. Более новые и релевантные документы с большей вероятностью окажутся вверху списка.
- Эффективное использование ресурсов сервера
Версия 1: Процедура слияния индексов могла создавать значительную нагрузку на систему в момент своего выполнения, что часто вынуждало запускать её ночью или в выходные дни.
Версия 2: Обновление индекса происходит постепенно, по мере поступления изменений. Нагрузка на систему распределяется равномерно в течение всего рабочего дня, что избавляет от «пиковых» нагрузок и делает работу системы более стабильной для всех пользователей.
- Современность и будущее развитие
Версия 1 — это устаревшая технология. Все новые функции и улучшения в механизме полнотекстового поиска разрабатываются исключительно для версии 2.
Переходя на версию 2, вы обеспечиваете свою систему на 1С современным и поддерживаемым механизмом, который будет только улучшаться в будущих обновлениях платформы.
Таким образом, переход на версию 2 полнотекстового поиска — это не просто «апгрейд ради апгрейда». Это существенное снижение затрат на администрирование и повышение качества работы для всех пользователей системы за счет более быстрого и актуального поиска.
Что нужно проверить перед переходом?
Вариант базы данных: Версия 2 не работает в файловом режиме (за исключением редкого случая с автономным сервером). Убедитесь, что вы используете клиент-серверный вариант (например, с СУБД PostgreSQL или Microsoft SQL Server).
Для работы новой версии полнотекстового поиска требуется наличие на компьютерах кластера серверов Java версии 8 и последующих.
Смена версии полнотекстового поиска выполняется в монопольном режиме. Это означает, что специалист, выполняющий смену версии, полностью контролирует весь процесс и достаточно низка вероятность каких-то изменений в информационной базе, которые повлияют на индекс (и необходимость индексирования). В том случае, если в процессе перехода «что-то пойдет не так», можно достаточно быстро вернуться на предыдущую версию.
Для смены версии необходимо выполнить следующие действия:
1. Очищаем индекс полнотекстового поиска (Администрирование -> Управление полнотекстовым поиском)2. Устанавливаем версию 2 (Все функции -> Стандартные -> Управление полнотекстовым поиском)
3. Возвращаемся в Администрирование -> Управление полнотекстовым поиском, обновляем индекс
При формировании индекса версии 2 учитывается свободное место на дисковом накопителе, который хранит каталог данных полнотекстового поиска. Индексация будет прервана, если на этом дисковом накопителе будет менее 10% свободного пространства. В этом случае индекс станет не актуальным, а поиск в данных будет невозможен. После того, как на накопителе будет обеспечено достаточное количество свободного места ‑ индексация продолжится и после актуализации индекса поиск также будет доступен.
Система официально переключена на использование Версии 2.
Важное замечание: Время, необходимое для достижения второго условия (актуальности индекса), может сильно варьироваться — от нескольких минут для небольшой базы до многих часов для очень большой базы с большим объемом данных. В этот период поиск будет работать, но может не находить самые свежие данные, пока индекс не будет полностью построен.
консультанта или программиста 1С?



