Различные символы рассматриваются как равные в elasticsearch

Мы создаем поисковую машину с elasticsearch, чтобы использовать стажера в нашей компании. Мы используем одно поле ввода, в которое пользователи могут вводить свои поисковые слова (например, Google). Таким образом, должна быть возможность поиска по разным словам, разделенным пробелами.

Поскольку возможен поиск по именам, а имена могут быть написаны по-разному, мы хотели бы рассматривать разные символы как равные.

Например, имя «Хейманс» может быть написано как «Хайманс», «Хейманс», «Хайманс», ...

Если пользовательский поиск по «Hijmans», «Heymans» должен быть найден предпочтительно с тем же количеством очков, что и при поиске по «Heymans».

Можно ли установить «ei», «ij», «ey» как равные значения? Мы знаем, что есть функция синонимов, но если мы сделаем это таким образом, оценки будут очень низкими.

Мы не хотим ставить "Hymans", "Heimans", "Hijmans" как синонимы, потому что есть и другие имена с той же проблемой...

Спасибо за помощь!


person Rein Van Leirsberghe    schedule 23.12.2015    source источник
comment
Все эти имена обычно имеют очень похожую фонетику? Если да, попробуйте фонетический анализатор.   -  person Val    schedule 23.12.2015
comment
Звучит здорово! К сожалению, мы имеем дело с голландским... Я думаю, фонетический анализатор больше подходит для английского языка...   -  person Rein Van Leirsberghe    schedule 23.12.2015
comment
Ну, лежащий в основе алгоритм был разработан немецкими людьми. Вы все еще можете проверить их документацию здесь, здесь и здесь.   -  person Val    schedule 23.12.2015
comment
Пробовали ли вы голландский анализатор также?   -  person Val    schedule 23.12.2015
comment
Также вот еще один SO вопрос, похожий на ваш.   -  person Val    schedule 23.12.2015