@xExplosive

Как реализовать запрос поиска максимального совпадения?

Здравствуйте.
Допустим у меня в таблице users 2 пользователя:
Иванов Иван Иванович
Иванов Иван Петрович
Как запросом "Иванов Иван Александрович" вывести Ивановича и Петровича? :)
Даже не смотря на то что такого пользователя нет?
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Почитайте что такое "нечеткий поиск".
Левенштейн, Дамерау, шинглы, вот это все.

Из готового - sphinx search.

В mysql из встроенного разве что soundex (с натяжкой), но он только с английским работает, емнип.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
В рамках вашей задачи проще сделать что то типа
$name = 'Иванов Иван Иванович';
$name  = explode(' ',$name);
//....
$sql = "
select * from `users`
where `fullname` like 'Иванов %' 
and like '% Иван %' ";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы