Статьи

Как реализовать нечеткий поиск (автозаполнение поиска Google) в Java

Приблизительный поиск строк

Приблизительный поиск строк, нечеткий поиск, поиск с ошибками — есть много названий для этой одной проблемы. В этой статье я покажу вам два способа реализации поиска, который принимает во внимание потенциальную опечатку. 

Пример проблемы

Пользователь вводит название компании с ошибкой: Tetla, Aptle, Cola Koca, Mikrosoft, и приложение возвращает правильное название компании и похожие компании (если таковые существуют): 

Пользовательский запрос с ошибкой Ожидаемый результат
сетевидная структура тесла
Apptle яблоко
Cocakola Кока-Кола
Mikrosoft Microsoft

Алгоритм проверки орфографии, описанный директором по исследованиям Google

Питер Норвиг описал алгоритм, похожий на проверку орфографии поиска Google в этой статье . Я изменил предоставленную реализацию Java в соответствии с требованиями, установленными в этой статье. Вы можете найти полный исходный код  здесь .

Я изменил это немного, чтобы соответствовать нашим потребностям. В словарь добавляем наши четыре компании и после тестирования:


Джава