132 документа
← К списку

Глава 20. Механизм полнотекстового поиска в данных

страница

Глава 20. Механизм полнотекстового поиска в данных

20.1. Общие сведения

Механизм полнотекстового поиска в данных системы «1С:Предприятие» позволяет осуществлять поиск информации в базе данных с указанием поисковых операторов (И, ИЛИ, НЕ, РЯДОМ и др.) и хештегов (строк вида #Хэштег). Механизм полнотекстового поиска основан на использовании двух составляющих:

● Индекса полнотекстового поиска ‑ специального словаря, который содержит все слова, которые хранятся в индексируемых объектах и места информационной базы, где эти слова встречаются. Этот индекс создается и поддерживается платформой.

● Средств выполнения полнотекстового поиска.

Объектами полнотекстового поиска являются данные следующих объектов конфигурации:

● планы обмена,

● справочники,

● документы,

● планы видов характеристик,

● планы счетов,

● планы видов расчета,

● регистры сведений,

● регистры накопления,

● регистры бухгалтерии,

● регистры расчета,

● бизнес-процессы,

● задачи.

Для каждого из перечисленных объектов конфигурации реализовано свойство Полнотекстовый поиск, которое позволяет включать или исключать данные объекта в/из полнотекстового индексирования.

Для фиксации изменений объектов полнотекстового поиска система «1С:Предприятие» ведет журнал регистрации изменений. Запись в этот журнал осуществляется в процессе записи объектов в базу данных. В файлы регистрации изменений попадают только те объекты, которые настроены для полнотекстового индексирования. Если в результате отката транзакции запись объекта в базу данных будет отменена, то запись в журнале регистрации изменений останется.

Полнотекстовое индексирование выполняется в привилегированном режиме (в контексте сервера) и не требует монопольного захвата базы данных. В процессе полнотекстового индексирования выполняется чтение файлов регистрации изменений и получение измененных объектов из базы данных, а также транслитерация слов и замещение букв в словах, введенных латиницей, на кириллицу (при этом индекс хранит обе формы слова). Индексированию подлежат только реквизиты следующих типов:

● строка,

● дата,

● число,

● ссылочные типы,

● хранилище значения.

Для каждого объекта и реквизита в полнотекстовый индекс добавляется:

● имя объекта метаданных или его реквизита;

● синоним объекта метаданных или его реквизита (на всех языках конфигурации);

● представление объекта метаданных (на всех языках конфигурации).

Стандартные и пользовательские реквизиты индексируются на всех языках, что позволяет проводить поиск на всех языках конфигурации (например, русский и английский).

О расположении файлов индекса полнотекстового поиска можно прочитать в статье на диске ИТС (http://its.1c.ru/db/metod8dev#content:1591:hdoc).

Полнотекстовый поиск в системе «1С:Предприятие» бывает двух версий. Версия 1 поддерживается начиная с самого первого релиза «1С:Предприятия» версии 8.3. Версия 2 поддерживается начиная с системы «1С:Предприятие» версии 8.3.22. В общем ‑ обе версии полнотекстового поиска обеспечивают выполнение полнотекстового поиска в данных. Однако, версия 2 более эффективно использует ресурсы компьютера, работает более быстро и содержит ряд расширений в языке поиска данных. Если поведение какого-либо механизма, описанного в данном разделе, различается в разных версиях поиска ‑ об это будет явно указываться.

Индекс полнотекстового поиска работает несколько по-разному в различных версиях поиска:

● Версия 1. В результате полнотекстового индексирования создается основной индекс, а в ходе последующего изменения данных базы данных ‑ дополнительный, который содержит информацию по данным, измененным после последнего обновления основного индекса.

При индексации выполняется автоматическая замена буквы «ё» на букву «е». В результате слова «ёж» и «еж» становятся одинаковыми (с точки зрения поиска).

Поиск по основному индексу выполняется эффективно, в то время как поиск по дополнительному индексу выполняется медленнее. Поэтому в процессе индексирования предусмотрена возможность слияния индексов. Слияние позволяет добавить результат последних изменений данных к основному индексу. При этом следует учитывать, что эта операция может оказаться довольно длительной (если размер основного индекса большой), поэтому рекомендуется выполнять ее в периоды минимальной нагрузки на систему (в ночное время или по выходным).

Обновление индекса выполняется с помощью фонового задания, которое необходимо реализовать разработчику прикладного решения.

● Версия 2. В этой версии не выполняется разделение на основной и дополнительный индексы. При первоначальном заполнении формируется единственный индекс. По мере изменения данных в информационной базе, система автоматически выполняет обновление индекса для поддержания индекса в актуальном состоянии. Это действие не требует участия со стороны прикладного решения.

При индексации и поиске буквы «е» и «ё» считаются различными. При необходимости выполнить поиск слова, которое содержит букву «ё», слово необходимо писать именно с буквой «ё» (или использовать поисковые выражения).

Полнотекстовый поиск инициируется пользователем на стороне клиентского приложения, но весь программный интерфейс поиска доступен исключительно на стороне сервера. Это означает, что в файловом варианте работы поиск будет выполняться на клиентском компьютере, а в клиент-серверном ‑ в кластере серверов системы «1С:Предприятие». Следует помнить, что полнотекстовый поиск версии 2 не поддерживается в файловом варианте информационной базы (кроме случая использования файлового варианта совместно с автономным сервером).

Полнотекстовый поиск в данных осуществляется в соответствии с правами пользователя (в том числе и в соответствии с ограничениями прав доступа на уровне записей и полей базы данных). При этом поиск можно вести и по словам, которые были введены в базу данных с ошибками: например, если в слове вместо русской «с» стоит английская «c», если при наборе слова была нечаянно сменена раскладка клавиатуры и в результате слово приняло вид, например, «системf» вместо «система», эти слова все равно попадут в результат поиска. Также следует помнить, что механизм полнотекстового поиска в данных осуществляется всегда с начала слова. Поисковая строка не должна содержать более 1 000 слов (исключая логические и специальные поисковые операторы). Если количество слов в поисковой строке превосходит указанное ограничение ‑ поиск не выполняется и формируется исключение.

Если в поиске указывается хэштег, например #Заказ, то будут найдены все объекты, в индексируемых данных которых встречается искомый хэштег. Если необходимо найти все объекты, где есть хэштеги, начинающиеся с фиксированной последовательности символов, то для этого необходимо после этой последовательности указать символ *. Так, если нужно найти все хэштеги, начинающиеся с последовательности Заказ, то надо будет указать поисковую строку #Заказ*. В этом случае будут найдены хэштеги #Заказ, #ЗаказВнешний, #ЗаказВнутренний и т. д.

Результаты поиска возвращаются частями, размер которых определяется при выполнении команды полнотекстового поиска.

Ранжирование полученных результатов осуществляется в порядке следующих приоритетов:

● усиление «веса» какого-либо слова с помощью языка запросов полнотекстового поиска;

● «вес» объекта метаданных: чем больше ссылок на этот объект в реквизитах других объектов, тем выше его «вес»;

● дата объекта (более новые объекты будут находиться в начале).

20.2. Использование механизма

Полнотекстовый поиск в данных осуществляется средствами встроенного языка.

Свойство глобального контекста ПолнотекстовыйПоиск возвращает менеджер полнотекстового поиска ‑ объекта типа МенеджерПолнотекстовогоПоиска. Методы менеджера полнотекстового поиска позволяют выполнить все необходимые операции по управлению и использованию полнотекстового поиска. Обращение к методам программного интерфейса будут выглядеть следующим образом: ПолнотекстовыйПоиск.ИмяВызываемогоМетода(). Для упрощения, в нижеследующем тексте имя свойства глобального контекста будет опускаться. В примерах и реальном коде такое упрощение, очевидно, не допускается.

Для управления полнотекстовым поиском платформа предоставляет программный интерфейс:

● ПолучитьРежимПолнотекстовогоПоиска() ‑ возвращает значение системного перечисления РежимПолнотекстовогоПоиска. Значение этого перечисления Разрешить означает, что использование полнотекстового поиска разрешено, значение Запретить означает, что использовать полнотекстовый поиск (и любые связанные действия) невозможно.

● ПолучитьВерсиюПолнотекстовогоПоиска() ‑ возвращает текущую версию полнотекстового поиска.

● ДатаАктуальности() ‑ дата последнего момента, когда были проиндексированы все данные и не было информации о новых объектах для индексирования.

● ИндексАктуален() ‑ возвращает значение Истина, если индекс полнотекстового поиска полностью соответствует текущему состоянию информационной базы. Если используется полнотекстовый поиск версии 2, то при большом потоке изменений в индексируемых данных, метод может возвращать противоположные значения при частых последовательных вызовах.

● ОбновлениеИндексаЗавершено() ‑ поведение зависит от версии полнотекстового поиска в данных:

● Версия 1: возвращает значение Истина, если слияние полнотекстового индекса не требуется.

● Версия 2: возвращает значение Ложь, если метод ИндексАктуален() также возвращает значение Ложь. Во всех остальных случаях возвращает значение Истина, т. к. не требуется специальной операции по слиянию индексов.

● ПолучитьМаксимальныйРазмерИндексируемыхДанных() ‑ возвращает максимальный размер данных (в байтах) который индексируется полнотекстовым поиском.

● УстановитьМаксимальныйРазмерИндексируемыхДанных() ‑ позволяет задать максимальный размер данных (в байтах), хранящихся в одном реквизите объекта конфигурации, которые индексирует полнотекстовый поиск. До первого вызова данного метода максимальный размер индексируемых данных равен 1 Мбайту.

● ПолучитьКоличествоЗаданийИндексирования() ‑ возвращает количество фоновых заданий системы, которые одновременно выполняют индексирование данных.

● УстановитьКоличествоЗаданийИндексирования() ‑ позволяет указать, сколько фоновых заданий системы будут одновременно выполнять индексирование данных. Количество заданий можно изменять, в зависимости от нагрузки на систему. Например, если индексируется большое количество данных, то во время минимальной нагрузки на систему можно установить большое количество заданий индексации, а во время максимальной нагрузки ‑ установить одно фоновое задание.

● ПолучитьРежимРазделенияСоставныхСлов() ‑ позволяет получить режим выделения значащих частей слов. Для полнотекстового поиска версии 2 не используется.

● УстановитьРежимРазделенияСоставныхСлов() ‑ позволяет установить режим выделения значащих частей слов. Изменение режима разделения составных слов требует перестроения индекса полнотекстового поиска. Для полнотекстового поиска версии 2 не используется, но параметр фиксируется в информационной базе. При переходе на полнотекстовый поиск версии 1 это значение будет учитываться.

Для выполнения полнотекстового индексирования предназначены следующие методы:

● УстановитьВерсиюПолнотекстовогоПоиска() ‑ позволяет указать, какая версия полнотекстового поиска в данных будет использоваться в данной информационной базе. Смена версии полнотекстового поиска требует монопольного доступа к информационной базе. Поведение зависит от того, как выполняется смена версии:

● Версия 1 меняется на версию 2:

● Проверяется возможность запуска 2-й версии полнотекстового поиска. Если такой возможности нет ‑ смена версии прекращается и формируется исключение, содержащее причину невозможности смены версии.

● Все новые фоновые задания обновления индекса полнотекстового поиска будут работать со 2-й версией полнотекстового поиска.

● Все новые соединения с информационной базой будут использовать 2-ю версию полнотекстового поиска.

● Будет использоваться текущее состояние индекса 2-й версии. Если существующий индекс не актуален или не создавался, то попытки поиска будут ограничены текущим состояние индекса.

● Индекс полнотекстового поиска 1-й версии останется в состоянии «как есть». Если этот индекс более не требуется ‑ его требуется принудительно очистить перед сменой версии.

● Версия 2 меняется на версию 1:

● Все выполняющиеся фоновые задания индексации будут прерваны.

● Прекращается обновление индекса полнотекстового поиска 2-й версии.

● Все новые соединения с информационной базой будут использовать 1-ю версию полнотекстового поиска.

● Индекс полнотекстового поиска 2-й версии останется в состоянии «как есть». Если этот индекс более не требуется ‑ его требуется принудительно очистить перед сменой версии.

Смена версии полнотекстового поиска выполняется в монопольном режиме. Это означает, что специалист, выполняющий смену версии, полностью контролирует весь процесс и достаточно низка вероятность каких-то изменений в информационной базе, которые повлияют на индекс (и необходимость индексирования). В том случае, если в процессе перехода «что-то пойдет не так», можно достаточно быстро вернуться на предыдущую версию. Т. к. индекс полнотекстового поиска был актуальным и сохранился в процессе перехода ‑ он сразу будет использован для поиска необходимых данных.

● УстановитьРежимПолнотекстовогоПоиска() ‑ устанавливает режим полнотекстового поиска (Разрешить или Запретить). Если поиск был запрещен, то вызов этого метода с параметром Разрешить автоматически очищает имеющийся полнотекстовый индекс.

● ОбновитьИндекс() ‑ обновляет индекс полнотекстового поиска. Если индексы отсутствовали, выполняет полную переиндексацию всей базы данных. Поведение зависит от версии полнотекстового поиска:

● Версия 1. Возврат из метода происходит либо после полного обновления индекса или после обновления очередной порции (зависит от значения параметра Порционное). В параметрах метода передаются условия индексирования:

● РазрешитьСлияние ‑ если передается значение Истина, будет выполнено слияние основного и дополнительного индексов.

● Порционное ‑ значение Истина указывает, что индексирование будет выполняться порциями из 10 тысяч объектов. После индексирования данных одной порции процесс завершается. Время индексирования одной порции сильно зависит от данных.

● Версия 2. Метод запускает обновление индекса полнотекстового поиска и сразу завершает работу. Обновление происходит в фоновом режиме, асинхронно. Для того, чтобы узнать состояние индексации, следует использовать метод ИндексАктуален().

● ОчиститьИндекс() ‑ удаляет все файлы полнотекстового индекса. Этот метод рекомендуется использовать в тех случаях, когда данные были полностью или почти полностью обновлены (например, при выполнении загрузки информационной базы). После очистки индекса нужно выполнить индексирование (если требуется). Очистка индекса зависит от версии полнотекстового поиска в данных:

● Версия 1. Очистка выполняется в синхронном режиме. Завершение работы метода означает завершение очистки индекса.

● Версия 2. Очистка выполняется в асинхронном режиме. Управление возвращается без ожидания каких-либо действий. Если во время вызова метода выполняется задание индексации ‑ оно будет прервано автоматически.

Инициирование процесса полнотекстового поиска в данных выполняется с помощью метода СоздатьСписок(). В метод передаются два параметра:

● СтрокаПоиска ‑ строка, содержащая поисковое выражение;

● РазмерПорции ‑ число, задающее количество объектов, которые будут возвращены в одной части полнотекстового поиска.

Описание синтаксиса поисковых выражений см. здесь.

Метод СоздатьСписок() возвращает объект СписокПолнотекстовогоПоиска, который позволяет выполнять полнотекстовый поиск и получать результаты полнотекстового поиска. Этот объект может быть использован многократно для выполнения поиска с различными условиями. Свойства объекта СтрокаПоиска и РазмерПорции позволяют изменять используемое поисковое выражение и размер порции получаемых данных.

Для выполнения полнотекстового поиска и получения «первых» результатов используется метод ПерваяЧасть(), который заполняет список первыми найденными элементами, в соответствии с размером порции. Для получения последующих результатов полнотекстового поиска используются методы СледующаяЧасть() и ПредыдущаяЧасть(), которые могут принимать в качестве параметра текущую начальную позицию и заполняют список полнотекстового поиска результатами поиска. Если параметр ТекущаяНачальнаяПозиция не указан, то используется имеющееся у объекта СписокПолнотекстовогоПоиска значение начальной позиции, которое, например, можно получить с помощью метода НачальнаяПозиция(). Использование параметра предпочтительнее, т. к. повышает скорость работы полнотекстового поиска.

Метод Количество() содержит количество элементов в текущей части (для последней части оно будет меньше либо равно размеру порции), а метод ПолноеКоличество() содержит полное количество элементов, найденных в результате полнотекстового поиска.

Метод СледующаяЧасть() заполняет список следующими элементами в соответствии со значением размера порции. При этом текущая позиция увеличивается на количество данных, содержащихся в полученной части. Если данных для получения очередной порции нет (достигнут конец данных), будет вызвано исключение, которое может быть обработано конструкцией Попытка … Исключение … КонецПопытки.

Метод ПредыдущаяЧасть() заполняет список предыдущими найденными элементами в соответствии с размером порции. Если данных для получения очередной порции нет (достигнуто начало данных), будет вызвано исключение, которое может быть обработано конструкцией Попытка … Исключение … КонецПопытки.

Метод СлишкомМногоРезультатов() возвращает значение Истина, если во время поиска, по соображениям производительности, было произведено усечение количества результатов, что может сказаться на точности поиска (не все объекты будут найдены). Анализ значения, возвращаемого этим методом, имеет смысл выполнять при получении последней порции найденных данных для информирования пользователя о том, что получены не все результаты, которые содержатся в базе данных.

Свойство ОграничиватьСтрокуПоиска позволяет указать, что при поиске необходимо проверить, что строка поиска соответствует некоторым критериям:

● Общая длина строки поиска не превышает 1 000 символов.

● Строка поиска состоит не более чем из 32 слов.

Если свойство ОграничиватьСтрокуПоиска установлено в значение Истина и поисковая строка не удовлетворяет вышеуказанным требованиям, то поиск не будет выполнен и будет сформировано исключение.

Свойство ПолучатьОписание содержит признак получения описания для результатов поиска. Если он установлен в значение Истина, то для каждого из результатов поиска будет заполнено значение Описание, помогающее понять контекст найденных слов. В то же время установка этого свойства в значение Ложь ускоряет поиск.

Список полнотекстового поиска представляет собой коллекцию элементов списка полнотекстового поиска, которую можно обойти с помощью оператора Для Каждого … Из … Цикл.

Каждый элемент списка полнотекстового поиска представляется объектом ЭлементСпискаПолнотекстовогоПоиска и содержит следующие свойства:

● Значение ‑ идентифицирует данные (объект или набор записей), в которых найдено поисковое выражение;

● Метаданные ‑ объект метаданных, описывающий те данные, в которых найдено поисковое выражение;

● Представление ‑ текстовое представление найденного объекта;

● Описание ‑ содержит пары <реквизит>:<значение>, где:

● <реквизит> ‑ реквизит объекта, в значении которого найдено выражение поиска;

● <значение> ‑ значение этого реквизита.

Размещение пар «реквизит ‑ значение» зависит от версии полнотекстового поиска:

● Версия 1. Каждая пара начинается с новой строки.

● Версия 2. Все пары выводятся в одну строку, разделителем является символ «;». При нехватке места имя реквизита может быть опущено.

Результат поиска с помощью метода ПолучитьОтображение() можно представить в виде объекта Чтение``XML или в виде строки с текстом в формате HTML, в котором средствами HTML найденные слова подсвечены. Отображение результатов полнотекстового поиска может различаться в разных версиях поиска.

20.3. Использование дополнительных словарей

Внимание! Данный механизм поддерживается только для полнотекстового поиска в данных версии 1.

Дополнительные словари морфологии и синонимов для полнотекстового поиска расширяют системные словари и могут содержать в себе особые термины и слова, которые используются при работе с конфигурацией.

В качестве дополнительных словарей могут выступать макеты из двоичных данных и текстовые макеты, а также константы строкового типа и типа ХранилищеЗначения. Указание дополнительных словарей выполняется в свойстве Дополнительные словари корневого объекта метаданных.

При этом они должны иметь следующее содержание:

Копировать в буфер обмена

рунетрунета рунете рунетом ВанессаВанессе Ванессы Ванессу ошибка баг сбой стрим поток хлеб дом почт

Элемент Dictionary

Предназначен для хранения собственно словаря. Словарь может содержать две секции:

● дополнительные слова (леммы) и их формы;

● ряды синонимов.

Элемент Words

Содержит слова в следующем виде:

● в элементе lemma слово хранится в его основной форме (именительном падеже);

● в элементе forms содержатся падежные формы слова.

По умолчанию нечеткий поиск не производится. Для того чтобы выполнить нечеткий поиск, следует использовать оператор «*». Пример: поиск руне* найдет и рунет, и рунета, и рунете, и рунетом.

Элемент Synonyms

Хранятся наборы синонимов. Каждый набор заключается в теги item.

Для того чтобы синонимы участвовали в полнотекстовом поиске, следует использовать оператор «!». При этом поиск !ошибка найдет и ошибка, и баг, и сбой. Описание синтаксиса поисковых выражений см. здесь.

Элементы Synonyms и Words могут идти в произвольном порядке.

Элемент Roots

Хранятся словарь значащих частей слов. Каждая значащая часть должна быть заключена в элемент item. Для языков, отличных от русского, словарь значащих слов позволит включить режим разделения составных слов и выполнять поиск по значащим частям слов.

Словари загружаются системой при первом вызове поиска или индексировании. Если в макете содержатся ошибки, то заполнение словарей будет остановлено на месте ошибки.

В случае изменения дополнительного словаря, необходимо выполнить перезапуск системы, чтобы новый словарь был подключен системой. В зависимости от варианта системы, перезапущены должны быть разные компоненты:

● файловый вариант информационной базы с прямым подключением ‑ необходимо перезапустить все клиентские приложения, подключенные к информационной базе;

● файловый вариант с подключением через веб-сервер ‑ необходимо перезапустить расширение веб-сервера (фактически перезапуска требует веб-сервер);

● клиент-серверный вариант (с любым видом подключения) ‑ необходимо перезапустить сервер «1С:Предприятия».

При этом индекс автоматически не обновляется, и нужно перестроить индекс вручную, хотя при поиске используются новые словари.

20.4. Поддержка актуальности индекса полнотекстового поиска

Для того, чтобы полнотекстовый поиск в данных выполнял свои прямые обязанности (собственно поиск данных), необходимо поддерживать индекс полнотекстового поиска в актуальном состоянии. Для этого необходимо добавлять в индекс новую информацию (новые объекты информационной базы), удалять устаревшую информацию (которая располагалась в удаленных объектах) и обновлять информацию об измененных объектах информационной базы.

В зависимости от того, какая версия полнотекстового поиска в данных используется прикладным решением, такие действия выполняются по-разному. Рассмотрим эти действия.

Версия 1

Для того, чтобы актуализировать индекс полнотекстового поиска, необходимо реализовать регламентное задание, в котором будет выполняться вызов метода ОбновитьИндекс(). Расписание работы задания должно быть составлено таким образом, чтобы минимизировать задержки между вводом/изменением информации в информационной базе и отражением этой информации в индексе. Как правило, устанавливают запуск регламентного задания каждые 60 секунд.

Текст регламентного задания может выглядеть следующим образом:

Копировать в буфер обмена

Процедура ОбновлениеИндексаПолнотекстовогоПоиска() Экспорт ПолнотекстовыйПоиск.ОбновитьИндекс(Ложь, Истина); КонецПроцедуры

Данное регламентное задание будет выполнять порционное обновление индекса без слияния основного и частичного индексов. Порционное индексирование несколько увеличит первоначальное заполнение индекса, т. к. в индекс будут попадать 10 000 объектов каждую минуту. Однако такое формирование индекса позитивно скажется на общей производительности системы во время первоначального заполнения индекса.

Слияние индексов полнотекстового поиска можно выполнять по желанию. Для этого можно или реализовать отдельное регламентное задание или реализовать слияние в этом же регламентном задании, выделив для этого отдельный временной интервал с минимальной загрузкой системы.

Версия 2

В этом случае администратору системы достаточно инициировать первоначальное заполнение индекса с помощью стандартной функции Управление полнотекстовым поиском. Все остальные действия (в том числе и по актуализации индекса), система «1С:Предприятие» будет выполнять автоматически. Т. к. первоначальное заполнение индекса является обязательной процедурой (даже для пустой информационной базы), то вызов метода ОбновитьИндекс() можно, например, вставить в код начального заполнения информационной базы.

При формировании индекса версии 2 учитывается свободное место на дисковом накопителе, который хранит каталог данных полнотекстового поиска. Индексация будет прервана, если на этом дисковом накопителе будет менее 10% свободного пространства. В этом случае индекс станет не актуальным, а поиск в данных будет невозможен. После того, как на накопителе будет обеспечено достаточное количество свободного места ‑ индексация продолжится и после актуализации индекса поиск также будет доступен.

20.5. Мобильная платформа

Полнотекстовый поиск на мобильной платформе имеет некоторые особенности и ограничения.

Полнотекстовый поиск не поддерживает:

● Версию 2 этого механизма.

● Поиск с учетом морфологии.

● Подключение дополнительных словарей.

● Операцию извлечения текста (объект ИзвлечениеТекст).

При использовании полнотекстового поиска на мобильной платформе следует помнить о следующих особенностях:

● Обновление индекса полнотекстового поиска выполняется автоматически, после создания или изменения объекта конфигурации, для которых установлено использование полнотекстового поиска.

● Для обновления индекса полнотекстового поиска создается специальное фоновое задание. Фоновое задание создается в том случае, если не выполняется серверный вызов и не выполняется другое фоновое задание. Обновление выполняется порциями по 10 000 объектов.

● В том случае, если все объекты в информационной базе проиндексированы, то мобильная платформа запускает слияние индексов по истечении 20 секунд бездействия.

Если требуется гарантированно выполнить индексирование данных, например, после синхронизации информационной базы с информационной базой на персональном компьютере, то следует явным образом выполнить обновление индекса полнотекстового поиска с помощью метода ОбновитьИндекс(Истина, Ложь) менеджера полнотекстового поиска.