Сквозной поиск

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

Объекты, участвующие в поиске:

  • Записи реестров/справочников. В поиске по записям участвуют все поисковые атрибуты записи, кроме логического.

  • Связи. В поиске по связям участвуют поисковые атрибуты связи и поисковые атрибуты связанной записи.

    • Исходящие связи: когда существует пара связанных записей (master record) → (child record), то набрав в поиске "child record" можно найти запись child и запись master (с указанием, что найдено в ее связи).

    • Входящие связи: набрав в поиске "master record" можно найти запись master. Запись child также будет найдена в поиске, если в модели данных для этой связи включен флаг "Отображать входящие связи". Поиск по атрибутам входящей связи также будет работать только при включенном флаге "Отображать входящие связи".

  • Классификации. В поиске по классификациям участвуют: имя классификатора, имя узла, поисковые атрибуты классификации.

Примечание

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

Пример отображения строки сквозного поиска

Рисунок 1 - Пример отображения строки сквозного поиска с выбором объектов, участвующих в поиске

Включение сквозного поиска

  1. Для возможности использования поиска активируйте флаги сквозного поиска в соответствующих местах:

  • В продвинутых свойствах модели реестра/справочника. Этот флаг считается главным, без которого не будет работать поиск ни по каким другим критериям.

  • В параметрах системы - флаг "Включить сквозной поиск" (org.unidata.mdm.search.global.enabled). При выключенном флаге все элементы в интерфейсе, связанные со сквозным поиском, исчезнут. Бэкенд будет поддерживать запросы сквозного поиска до первой переиндексации данных.

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

  • В настройках классификатора во вкладке "Назначения".

  1. После активации запустите операцию переиндексации данных для тех реестров, на которых был активирован сквозной поиск в модели.

Примечания:

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

  • При первом запуске сборки с поддержанным сквозным поиском также необходимо произвести переиндексацию модели данных с флагами "Обновить маппинги моделей", "Проиндексировать модель данных".

  • Переиндексация данных требуется при каждом обновлении конфигурации сквозного поиска (проставлении/снятии флагов "Сквозной поиск").

Типы атрибутов

Атрибуты, участвующие в сквозном поиске должны быть Поисковыми. Соответственно для атрибутов типа "Файл", "Текстовый файл", "Ссылка на web-ресурс" сквозной поиск НЕ будет работать, т.к. они не могут быть Поисковыми.

Сквозной поиск будет работать при поиске в комплексном атрибуте (на первом уровне вложенности) и массив-атрибуте.

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

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

  • Если количество совпадений > 1, то данные разделяются по месту совпадения и подсказка отображается по следующей логике:

    • Если количество совпадений в одном поисковом критерии > 1, то во всплывающей подсказке отобразится только число совпадения.

    • Если количество совпадений = 1, то во всплывающей подсказке отобразится конкретное место совпадения.

Количество элементов в поисковой выдачи ограничено = 20 элементов.

По клику на лейбл произойдет переход на страницу "Данные" и будет выбран реестр/справочник, на который кликнули.

Если нажать на результат поиска, то откроется страница эталонной записи.