Я создаю приложение для Android, которое принимает ввод строки и возвращает ранжированный список книг, используя API Google.
Я ищу способ сравнить строку с открытым концом, которую вводит пользователь, с первым элементом в списке, чтобы увидеть, является ли то, что они ввели, «вероятно» одной книгой. У меня есть масса информации о книге, названии, авторе, описании и т. д., так что я могу искать в любой части.
Пример:
'eyre affair fforde', 'fforde eyre affair', 'the eyre affair' ----> 'Likely' to be 'The Eyre Affair by Jasper Fforde'
Что было бы лучшим способом сделать это? Я посмотрел на расстояние Левенштейна, но не думаю, что это сработает с таким открытым вводом, n-граммы кажутся хорошим способом или нечетким сопоставлением.
Любые другие идеи?