Проверяет целостность файлов полнотекстового поиска.
Синтаксис
ПроверитьИндекс()Полное описание, параметры и ограничения
МенеджерПолнотекстовогоПоиска.ПроверитьИндекс (FullTextSearchManager.CheckIndex)
МенеджерПолнотекстовогоПоиска (FullTextSearchManager)
ПроверитьИндекс (CheckIndex)
Доступен, начиная с версии 8.3.6.
Синтаксис:
ПроверитьИндекс()
Возвращаемое значение:
Тип: Булево.
Ложь - если файлах индекса содержатся некорректные данные. В этом случае рекомендуется использовать методы ОчиститьИндекс и ОбновитьИндекс.
Описание:
Проверяет целостность файлов полнотекстового поиска.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Если в момент запуска проверки выполняется обновление, очистка или проверка данных полнотекстового поиска, будет вызвано исключение.
Использование в версии:
Доступен, начиная с версии 8.3.6.
Методическая информация
Практические примеры
Отличить актуальность индекса от его целостности
Читаем фактические состояние и настройки. ПроверитьИндекс не восстанавливает индекс и не заменяет проверку актуальности.
Где и как запускать
Полный серверный общий модуль УчебныйПолнотекстовыйПоиск своей отдельной учебной базы.
Подготовка
Используйте только отдельную собственную конфигурацию УчебнаяКонфигурацияСинтаксиса с собственным справочником УчебныеТовары. Включите использование полнотекстового поиска у справочника и Наименование в своей учебной конфигурации.
Вручную создайте ровно три товара: Учебномаяк Книга, Учебномаяк Ручка, Учебномаяк Коробка. Код урока не создаёт и не записывает эти товары. Маркер Учебномаяк нужен, чтобы не искать реальные сведения.
Создайте серверный общий модуль УчебныйПолнотекстовыйПоиск с флагом Сервер, вставьте весь модуль выбранного урока. Из серверного обработчика своей учебной обработки вызовите УчебныйПолнотекстовыйПоиск.ВыполнитьПример().
Сначала вручную разрешите поиск и обновите индекс своей учебной базы либо используйте отдельный урок обновления. Для опытов поиска индекс должен быть актуален, пользователь должен иметь чтение всех трёх собственных товаров.
Для административных уроков нужен единственный пользователь УчебныйПользовательСинтаксиса, право Администрирование, монопольный сеанс без разделителей данных. В этих уроках используется только Версия1; Версия2 требует отдельной подготовки поискового сервера.
Первый запуск административного урока делайте с пустым подтверждением. Не используйте рабочую базу или копию с реальными данными. Обслуживание меняет индекс/настройки и может занимать время, но не должно подменяться удалением товаров.
Процедура ВыполнитьПример() Экспорт
Сообщить("Версия: " + Строка(ПолнотекстовыйПоиск.ПолучитьВерсиюПолнотекстовогоПоиска()));
Сообщить("Дата актуальности: " + Формат(ПолнотекстовыйПоиск.ДатаАктуальности(), "ДФ=dd.MM.yyyy HH:mm:ss"));
Сообщить("Индекс актуален: " + Строка(ПолнотекстовыйПоиск.ИндексАктуален()));
Сообщить("Обновление и слияние завершены: " + Строка(ПолнотекстовыйПоиск.ОбновлениеИндексаЗавершено()));
Сообщить("Лимит параллельных заданий: " + Строка(ПолнотекстовыйПоиск.ПолучитьКоличествоЗаданийИндексирования()));
Сообщить("Максимальный размер данных, байт: " + Строка(ПолнотекстовыйПоиск.ПолучитьМаксимальныйРазмерИндексируемыхДанных()));
Сообщить("Разделение составных слов: " + Строка(ПолнотекстовыйПоиск.ПолучитьРежимРазделенияСоставныхСлов()));
Сообщить("Целостность файлов индекса: " + Строка(ПолнотекстовыйПоиск.ПроверитьИндекс()));
КонецПроцедурыРазбор по шагам
Проверить принадлежность базы. Получить версию, дату, актуальность и завершённость обновления/слияния.
Прочитать три настройки. Для получения максимального размера нужны административные права и сеанс без используемых разделителей.
ПроверитьИндекс вызывать только когда никакое обновление, очистка или проверка не выполняется. При конфликте не повторять в бесконечном цикле.
Показать фактические значения. Не превращать Ложь в успешный результат и не выполнять автоматическую очистку.
Как проверить результат
Все значения выводятся как диагностика, не обязаны быть Истина или заранее заданной датой.
Корректная целостность и неактуальный индекс возможны одновременно. При запрещённом поиске некоторые вызовы вызовут исключение.
Ожидаемый результат
Новичок различает состояние индекса, его целостность, дату и настройки без автоматического ремонта.
На что обратить внимание
Дата актуальности не является датой последнего изменения каждого товара.
ПроверитьИндекс может занять время. Это не DBCC, не восстановление базы и не поиск товара.
0 в максимальном размере означает отсутствие этого ограничения, 0 заданий — автоматический подбор; не трактуйте их как отключённый поиск.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.