Пользователь вводит поисковой запрос на кириллице. Необходимо вести поиск с чем-то вроде транслитерации.
Например:
слева ввод, справа, что нужно найти
фэшн энд стайл -> fashion & style
нэшионал географик -> national geographic
и тд. Какие есть варианты/комбинации вариантов для получения самых точных результатов? Мб что-то кроме составление синимом транслита для каждой записи и/или применения ICU transform?
Первое что приходит в голову. Это сделать транлетерирование на языке программирования на котором пишите приложение Python или Php или Node.js и далее уже давать в ElasticSearch готовый хороший запрос.
Т.е. в индексе хранить оригинальные название, в япе делать транслитерацию и пользоваться уже обычными аналайзерами шоб найти наиболее похожие?
что такое "япе"?! Java?
языке программирования)
А если в поле значение смешанная латиница и кириллица? Аля bridge русский, а ищем бридж русский. Т.е. транслит нам нужен только на слово бридж
тогда переводчик нужен
Вы можете создать анализатор с char_filter, у которого “type” : “mapping” будет, а в поле mappings у этого фильтра указать в какие русские символы/комбинации переводить английские символы/комбинации Далее использовать этот анализатор при индексации в отдельное поле (вложенное в основное). И искать по этому полю
Обсуждают сегодня