Дополнительные поля атрибутов

Морфологический поиск атрибутов

Морфологический поиск работает за счет обязательного плагина Opensearch.

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

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

Доступные виды атрибутов:

  • Простой атрибут (строковый);

  • Простой атрибут (строковый) в составе комплексного атрибута;

  • Массив-атрибут (строковый).

Поиск с учетом морфологии настраивается для каждого атрибута отдельно.

Атрибуты должны быть указаны как участвующие в поиске. Для этого во вкладке "Атрибуты" после выбора типа атрибута "Простой" и указания типа значения "Строковый" – включите параметр "Морфологический поиск".

Атрибуты, указанные как участвующие в морфологическом поиске, станут доступными для морфологического поиска в разделе "Данные".

Примечание

Рекомендуется настраивать морфологический поиск до создания (или импорта) данных в создаваемую модель данных. В противном случае морфологический поиск может не дать результатов, так как в Юниверс DG в текущей реализации нет механизма пересоздания индексов Opensearch

Поиск по синонимам значений атрибутов

Настройка синонимов выполняется в файле ${OPENSEARCH_PATH_CONF}/synonyms.txt.

Путь до папки config можно проверить следующим образом:

ps aux | grep opensearch | grep --color path.conf
  • В файле запрещено использование спец. символов: $%^*:".

  • Группы синонимов должны быть уникальными.

Пример файла synonyms:

customer, клиент, заказчик, покупатель
актив, asset

Для Docker инсталляции файл synonyms.txt находится в каталоге Opensearch в unidata-deploy.

После изменения файла с синонимами требуется перезапуск Opensearch. Переиндексация данных не требуется.

Примечание

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

Настройка ввода значений атрибутов по маске

Если параметр "Маска" активен и указан формат ввода данных, то каждый пользователь, вводящий в него данные, должен следовать заданному правилу.

Маска для значений атрибутов реализуется при помощи функций обработки данных и правил качества данных, которые применяют эти функции.

Для задания маски можно использовать:

  • Регулярное выражение regexp.

  • Упрощенный синтаксис маски.

Для задания маски по regexp используйте официальную документацию https://github.com/sanniassin/react-input-mask.

Описание собственного синтаксиса системы приведено в таблице 1.

Таблица 1 – Знаки, определяющие маску ввода данных

Знак

Описание

9

Пользователь может вводить только числовые значения (0-9)

L

Пользователь может использовать любые буквы верхнего регистра (A-Z, А-Я)

I

Пользователь может использовать любые буквы нижнего регистра (a-z, а-я)

A

Пользователь может использовать любые буквы и цифры (A-Z, А-Я, a-z, а-я, 0-9)

При задании маски все перечисленные в таблице символы являются символами для заполнения. Все прочие символы будут являться декораторами. Символы-декораторы не являются редактируемыми символами и не участвуют в регулярном выражении (в примере +7(999)999-99-99 декораторами будут являться "+", "(", ")", "-"). Также в качестве декоратора можно использовать буквы (исключая те, что перечислены в таблице).