Как работает транслитерация¶
Транслитерация осуществляет поиск значений атрибута при вводе запроса транслитом. Работает в простых строковых и массив-атрибутах. При этом поиск атрибута кириллицей также работает.
Как происходит транслитерация:
Транслитерация выполняется плагином analysis-icu для OpenSearch через библиотеку ICU (International Components for Unicode) - icu.unicode.org.
Используется следующее правило трансформации текста (описание правил - https://unicode-org.github.io/icu/userguide/transforms/general/): Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC
Проверить транслитерацию текста можно здесь: https://icu4c-demos.unicode.org/icu-bin/translit
Вставьте в поле Compound 1 указанное выше правило.
Введите в поле Input интересующий вас текст.
Нажмите Transform – в поле Output 1 отобразится транслитерированный текст.
Таблица транслитерации кириллицы в латиницу
Кириллица |
Латиница |
Кириллица |
Латиница |
Кириллица |
Латиница |
а |
a |
м |
m |
щ |
s |
б |
b |
н |
n |
ъ |
" |
в |
v |
о |
o |
ы |
y |
г |
g |
п |
p |
ь |
' |
д |
d |
р |
r |
э |
e |
е |
e |
с |
s |
ю |
u |
е |
e |
т |
t |
я |
a |
ж |
z |
у |
u |
||
з |
z |
ф |
f |
||
и |
i |
х |
h |
||
й |
j |
ц |
c |
||
к |
k |
ч |
c |
||
л |
l |
ш |
s |
Выбор способа сортировки
При сортировке по атрибуту с транслитерацией, по умолчанию сортировка происходит по оригинальному значению. Опционально доступен выбор сортировки по транслитерированному значению (в настройках атрибута в модели данных).
Записи, в результате транслитерации имеющие равные значения, имеют произвольный порядок при сортировке по транслитерованным значениям.
Влияние на сопоставление
Для сопоставления используются оригинальные (не транслитерированные) значения атрибутов.
Влияние на уникальность атрибутов
Для проверки уникальности атрибутов используются оригинальные (не транслитерированные) значения атрибутов.
Включение опции поддержки транслитерации на существующих атрибутах
При включении этой опции на существующих атрибутах необходимо выполнить операцию переиндексирования с очисткой данных и обновлением маппингов на затронутых реестрах/справочниках (т.е. при изменении этой опции у атрибута реестра – на этом реестре; у атрибута справочника – на этом справочнике; у атрибута связи – на реестрах с обоих концов связи; у атрибута вложенного объекта – на всех реестрах, которые используют этот вложенный объект).