Сквозной поиск
Сквозной поиск предназначен для универсального поиска по записям нескольких реестров/справочников, а также их связям и классификациям.
Объекты, участвующие в поиске:
Записи реестров/справочников. В поиске по записям участвуют все поисковые атрибуты записи, кроме логического.
Связи. В поиске по связям участвуют поисковые атрибуты связи и поисковые атрибуты связанной записи.
Исходящие связи: когда существует пара связанных записей (master record) → (child record), то набрав в поиске "child record" можно найти запись child и запись master (с указанием, что найдено в ее связи).
Входящие связи: набрав в поиске "master record" можно найти запись master. Запись child также будет найдена в поиске, если в модели данных для этой связи включен флаг "Отображать входящие связи". Поиск по атрибутам входящей связи также будет работать только при включенном флаге "Отображать входящие связи".
Классификации. В поиске по классификациям участвуют: имя классификатора, имя узла, поисковые атрибуты классификации.
Примечание
Сквозной поиск НЕ будет осуществляться по записям, связям и классификациям объектов модели, на которых для текущего пользователя назначены метки безопасности.
Рисунок 1 - Пример отображения строки сквозного поиска с выбором объектов, участвующих в поиске
Включение сквозного поиска
Для возможности использования поиска активируйте флаги сквозного поиска в соответствующих местах:
В продвинутых свойствах модели реестра/справочника. Этот флаг считается главным, без которого не будет работать поиск ни по каким другим критериям.
В параметрах системы - флаг "Включить сквозной поиск" (org.unidata.mdm.search.global.enabled). При выключенном флаге все элементы в интерфейсе, связанные со сквозным поиском, исчезнут. Бэкенд будет поддерживать запросы сквозного поиска до первой переиндексации данных.
В свойствах необходимой связи. Чтобы заработал поиск по данной связи, флаг должен быть включен на обоих связанных реестрах.
В настройках классификатора во вкладке "Назначения".
После активации запустите операцию переиндексации данных для тех реестров, на которых был активирован сквозной поиск в модели.
Примечания:
Поиск работает только для индексируемых данных, т.е. помимо флага "Сквозной поиск" атрибуты должны быть поисковыми (свойство "Поисковый").
При первом запуске сборки с поддержанным сквозным поиском также необходимо произвести переиндексацию модели данных с флагами "Обновить маппинги моделей", "Проиндексировать модель данных".
Переиндексация данных требуется при каждом обновлении конфигурации сквозного поиска (проставлении/снятии флагов "Сквозной поиск").
Типы атрибутов
Атрибуты, участвующие в сквозном поиске должны быть Поисковыми. Соответственно для атрибутов типа "Файл", "Текстовый файл", "Ссылка на web-ресурс" сквозной поиск НЕ будет работать, т.к. они не могут быть Поисковыми.
Сквозной поиск будет работать при поиске в комплексном атрибуте (на первом уровне вложенности) и массив-атрибуте.
Отображение результатов поиска
Если количество совпадений = 1, то происходит определение места совпадения поиска и отображается соответствующая подсказка, где в строке поиска будет указано только имя места совпадения, а во всплывающей подсказке - конкретное место совпадения.
Если количество совпадений > 1, то данные разделяются по месту совпадения и подсказка отображается по следующей логике:
Если количество совпадений в одном поисковом критерии > 1, то во всплывающей подсказке отобразится только число совпадения.
Если количество совпадений = 1, то во всплывающей подсказке отобразится конкретное место совпадения.
Количество элементов в поисковой выдачи ограничено = 20 элементов.
По клику на лейбл произойдет переход на страницу "Данные" и будет выбран реестр/справочник, на который кликнули.
Если нажать на результат поиска, то откроется страница эталонной записи.