Задать вопрос

Полнотекстовый поиск mysql

Можно ли делать поиск по mysql без точного совпадения слова?

Пример:
1. У меня есть запись в бд с словом Миксеры
2. Пользователь вводит слово миксера в поиске
3. С помощью стимера я обрезаю миксера до миксер
4. Делаю полнотексовый поиск по слову миксер, естественно запись со словом Миксеры не найдется.

p.s. Проблема решается с помощью выборке через like, но так как таблица 100 к записей, это занимает 3 секнды, что не очень устраивает.
  • Вопрос задан
  • 5923 просмотра
Подписаться 8 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
XuMiX
@XuMiX
Можно заюзать sphinx
Ответ написан
@Jazzist
Возьмите готовое решение или разработайте самостоятельно — вам нужна таблица с индексами
Ответ написан
sl_bug
@sl_bug
можно попробовать поднять apache lucene и что-то вроде soundex заюзать.
Ответ написан
Комментировать
@IlVin
Вам нужна полнотекстовая поисковая машина, умеющая индексировать текст с учетом морфологии. Такая, как Яндекс.Сервер company.yandex.ru/technology/server/
Есть и альтернативы, например risearch.org/
Поясню: like, в общем случае, делает полное сканирование таблицы, что медленно. А для быстрого полнотекстового поиска нужен индекс, который и строят вышеприведенные инструменты.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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