Работаю над проектом в котором поля адреса составлены по словарю (т.е. составное поле из ID где отдельно регион, город, улица и т.д.) Изменить структуру базы не могу. В пользовательском интерфейсе нужно максимально автоматизировать ввод адреса. Т.е. если пользователь вводит Мсква г. улица Иванов Ванович им. д. 4666 кв. 666 должно найти максимальное соответствие возможному адресу. Какие вообще есть решения у таких задач? Особенность также - что слово улица, переулок и т.д. может стоять как перед так и после названия. Я так понимаю это Fuzzy поиск? Но поскольку в базе жесткое разделение на улицу, город, регион и пользователь вводит все одним текстовым полем - нужен еще семантический разбор. Нашел https://www.pullenti.ru/ но это не для PHP. Как обычно в современной практике решаются такие задачи? Просто сам заметил что в последнее время на крупных магазинах и сервисах типа Uber довольно неплохо система определяет даже написанный с ошибками адрес.
Тут не изменять надо, а расширять. Вести статистику - что искали, что выбрали. Откуда искали. Использовать Soundex, Metaphone