Поиск названий вариантов из большого списка Ruby
У меня большой список слов, может быть, 300-600 слов, и я хочу сделать так, чтобы, когда мой пользователь начал вводить слово, приложение предлагало слова, найденные в моем конкретном списке, которые близки к правописанию, которое произносит этот человек. Вроде как автозаполнение, но список слов динамичен и специфичен для этого пользователя. Какие-нибудь предложения по использованию драгоценных камней или методов, как мне это сделать?
1 ответ
Решение
Если вы хотите сделать это в ruby, вы можете использовать алгоритм нечеткого совпадения, например, тот, который используется в этом геме https://github.com/seamusabshere/fuzzy_match посмотрите пример:
>> FuzzyMatch.new(['seamus', 'andy', 'ben']).find('Shamus')
=> "seamus"