Однако вы привели меня к созданию решения выше!

тоящее время я работаю над поиском в реальном времени, и мне нужно найти части имени в двух столбцах (нам нужно разделить имя и фамилию). Я лично хотел бы сохранить команду короткой, однако единственный способ, которым я смог заставить это работать:

Пользователь ищет

John Doe

Сгенерированный SQL-запрос

SELECT * FROM users WHERE
(first_name LIKE '%john%' OR last_name LIKE '%john%') AND
(last_name LIKE '%doe%' OR last_name LIKE '%doe%');

Поле поиска - это одно поле, поэтому я делаю простое разделение по пробелам. В большинстве случаев это не выходит за рамки трех наборов предложений, просто было интересно, есть ли лучший способ сделать это.

НОТА: Я хотел бы иметь возможность сделать частичное соответствие. Так что я должен быть в состоянии найти Джона Доу, если я ищу "Джон До"

РЕШЕНИЕ Однако с помощью Роландо я нашел решение, опубликованное для всех, кто найдет это. Следуйте его инструкциям о том, как создать индекс ниже, затем выполните это:

SELECT * FROM users WHERE
(MATCH(first,last) AGAINST ('+john* +do*' IN BOOLEAN MODE))

Ответы на вопрос(1)

Ваш ответ на вопрос