Как сделать быстрый автопоиск по фио?

В общем есть база данных с фио + рейтинг персонажа
Все ФИО не уникальны, есть много 100% тесок, но они разделены неким рейтингом.
Fio хранится в 1 столбце, а не в трех, потому что нельзя четко ответить на вопрос где имя а где фамилия, там смешаны разные нации.
всего 30 000 строк.

задача: нужно в реальном времени найти всех пользователей у кого имя или фамилия начинается на Phyli
Должны вернутся такие персонажи как :
Phylip ivaniv
John phylisonton
abram ish kali muhamed li san phylich

Идеально для этого подходит LIKE , но он медленно сработает на 30 000 записях.
Вся загвоздка в том, что это дело будет использоваться с JQuery и его "автодополнением"
т.е. скорость выполнения запроса важна.


В какую сторону копать, подскажите плиз?
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
@Wol_fi
php, js, mysql, highload
Like не работает с индексами при любом раскладе. Или используйте полнотекстовые индексы или поисковой движок, тот же солар, например.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@enot_enotov Автор вопроса
Ладно спасибо попробую стандартный Полнотекстовой индекс Mysql, просто попроще вроде он... с другими технологиями поиска пока не знаком.

как я понял в стандартном full text индексе все словосочетания дробятся на слова и эти слова как бы являются индексами, ну т.е. там где-то в недрах mysql проихводится сортировка слов и все это дело грамотно ищется, как в библиотеке.

т.е. по сути можно делать поиск по вхождению с начальной позиции слова, но никак не в центре слова, это так?
т.е. вот у нас есть Достоевсий, можно искать по вхождениям : дос , достоевс, но если захотим евский, то уже не найдем,.

И что бы искать по вхождениям внутри слова уже нужно использовать мощные движки...

это так?
Ответ написан
Ваш ответ на вопрос

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

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