Я ищу для реализации нечеткого поиска небольшого PHP/MySQL приложения. В частности, у меня есть база данных с около 2400 записей (записи добавлены со скоростью около 600 в год, поэтому это небольшая база данных). Три интересующих поля - это адрес улицы, фамилия и дата. Я хочу иметь возможность искать по одному из этих полей и, по существу, иметь толерантность к ошибкам орфографии/символа. т.е. адрес «123 Main Street» также должен соответствовать «123 Main St», «123 Main St.», «123 Mian St», «123 Man St», «132 Main St» и т. д., а также для имени и дата.PHP/MySQL мелкомасштабный нечеткий поиск
Основные вопросы, у меня есть ответы на другие подобные вопросы:
- Это невозможно определить синонимы для каждого возможного неправильного правописания, забудьте сделать это для дат и имен.
- Lucene и т. Д. Кажется очень тяжелым для такого ограниченного набора данных поиска (назовите его не более 5000 записей, 3 поля на запись).
- Просто делать что-то с помощью подстановочных знаков не представляется логичным со всеми возможными орфографическими ошибками.
Любые предложения? Я знаю, что не может быть сделано изначально с MySQL, но поскольку набор данных настолько ограничен, я бы хотел сделать его относительно простым ... возможно, класс PHP, который получает все записей из БД использует какой-то алгоритм сравнения и возвращает идентификаторы похожих записей?
Спасибо, Джейсон