Для сортировки многоязычных текстов используются, например, такие методы:
- Лингвистическая сортировка. docs.oracle.com Символы заменяются числовыми значениями, которые отражают надлежащий лингвистический порядок каждого символа. docs.oracle.com
- Таблицы сортировки. www.msiit.ru Позволяют присваивать символам из выбранной таблицы кодировки произвольный порядок. www.msiit.ru Это даёт возможность задавать некоторым символам одинаковый порядок (прописным и строчным буквам, буквам «е» и «ё») или использовать одну таблицу кодировки для работы со схожими алфавитами (например, немецким и шведским), меняя порядок лишь нескольких символов. www.msiit.ru
- Натуральная сортировка. sky.pro Позволяет сортировать строки так, как воспринимал бы их человек. sky.pro
- Сортировка по длине строк. sky.pro С помощью лямбда-функций можно сортировать строки по их длине, а затем, при равенстве длин, в алфавитном порядке. sky.pro
- Сортировка специальных символов. sky.pro Строки, которые содержат специальные символы или диакритические знаки, можно привести к нормальному виду до начала сортировки. sky.pro
Также для многоязычного поиска используются стемминг и лемматизация: habr.com
- Стемминг — процесс, который отрезает окончания слов, оставляя их основу (stem). habr.com Например, «playing», «played» и «plays» будут сведены к «play». habr.com
- Лемматизация — приводит слово к его базовой форме (lemma) с учётом грамматического контекста. habr.com Например, слова «better» и «good» сведутся к одной лемме — «good». habr.com