У меня есть таблица базы данных, которая имеет имя поля и имя поля. Я пытаюсь внедрить поисковую систему любого слова, используя окно поиска, где, если скажем, что у нас есть пользователь по имени John Stanley Smith
в базе данных (где firstname = John Stanley
и lastname = Smith
), я хочу иметь возможность верните John Stanley Smith
если пользователь набирает одно из следующих значений:
1- Любая буква, входящая в состав John Stanley Smith
(j, s, l, e, y, m и т. Д.)
2- Любое слово, которое является частью John Stanley Smith
3. Любая комбинация слов (в любом порядке), которая является частью John Stanley Smith
, что означает, что, если пользователь входит в John Stanley
или John Smith
или Stanley Smith
или Stanley John
(вы получаете идею) и т. Д. … Я хочу чтобы найти John Stanley Smith
.
Я знаю, что могу сделать это, используя функцию полнотекстового поиска MySQL, но если я это сделаю, точка номер один не будет работать (поскольку функция полнотекстового поиска MySQL соответствует только целым словам, а не подстрокам внутри строки). Кроме того, для выполнения поиска требуется минимальное количество слов (заданное константой min_word_len
). Итак, я действительно хочу сделать это, используя LIKE%.
спасибо