Полнотекстовый поиск в 1С 8.2 и 8.3

 

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

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

Сам механизм полнотекстового поиска состоит из двух частей:

  • полнотекстовый индекс, который создается в базе данных и обновляется по мере необходимости;
  • средства выполнения полнотекстового поиска.

Искать же можно среди данных следующих объектов:

  • планы обмена;
  • справочники;
  • документы;
  • планы видов характеристик;
  • планы счетов;
  • планы видов расчета;
  • регистры сведений;
  • регистры накопления;
  • регистры бухгалтерии;
  • регистры расчета;
  • бизнес-процессы;
  • задачи.

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

Свойство "Полнотекстовый поиск"
Свойство «Полнотекстовый поиск»

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

  • строка;
  • дата;
  • число;
  • ссылочные типы;
  • хранилище значения.

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

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

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

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

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

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

Работа с полнотекстовым поиском осуществляется при помощи свойства глобального контекста — ПолнотекстовыйПоиск.

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

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

Управление полнотекстовым поиском

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

 

Выполнение поиска и обработка результатов

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

Элемент списка полнотекстового поиска
Элемент списка полнотекстового поиска

Отображение поиска в формате HTML
Отображение поиска в формате HTML

Дополнительные словари

Дополнительные словари расширяют системные словари, добавляя особые термины и слова, которые встречаются в конкретной конфигурации. В качестве словарей могут использоваться макеты из двоичных данных и текстовые макеты, а также константы строкового типа и типа ХранилищеЗначения. Что бы это ни было, оно должно иметь следующий вид:

Указать дополнительные словари можно в свойстве конфигурации «Дополнительные словари»:

Свойство "Дополнительные словари полнотекстового поиска"
Свойство «Дополнительные словари полнотекстового поиска»

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

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

  • не поддерживается поиск с учетом морфологии;
  • нельзя подключить дополнительные словари;
  • нельзя использовать операцию извлечения текста.

Кроме этого существуют еще некоторые особенности работы полнотекстового поиска на мобильной платформе:

  • обновление индекса выполняется автоматически;
  • обновление индекса выполняется посредством фонового задания, которое создается в том случае, если не выполняется серверный вызов или другое фоновое задание;
  • если все объекта проиндексированы, то через 20 секунд бездействия платформа запускает слияние индексов.

Несмотря на автоматическое обновление индекса, иногда требуется принудительное обновление индекса, сделать это можно с помощью метода ОбновитьИндекс().

На этом все, надеюсь, что эта статья была Вам полезна.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (Пока оценок нет)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: