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

Как организовать быстрый поиск подстроки в строке на MYSQL?

Помогите организовать поиск записей из базы. Использую MySQL. имеется 2.000.000 записей. В каждой записи имеется поле состоящее из нескольких слов.

Идея поиска: пользователь вводит начальные символы подстроки. в ответ получает список найденных записей. необходимо найти любое вхождение введенных символов в строке. например: если ввели - 'QWE' то запись 'asd qwE asd' должен найти. в LIKE '%string%' не используется индексация. Какие есть варианты решения?
  • Вопрос задан
  • 4922 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@IceJOKER
Web/Android developer
where MATCH(`field`) AGAINST ('*string*', IN BOOLEAN MODE);
Ответ написан
AxisPod
@AxisPod
Ну тупое решение в лоб, выдираются все слова, кидаются в отдельную таблицу, делается индекс по словам.
Делается таблица связей для таблицы слов и вашей.
Ищется по like 'string%', в этом случае индексы даже и работают.
Но в этом случае не будет работать с 2мя словами в поисковой фразе, тут уже надо бить поисковую строку по словам, делать n запросов и брать пересечение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект
18 дек. 2024, в 09:56
8000 руб./за проект