2012-03-10 2 views
1

У меня есть простая форма поиска, которая ищет mysql, используя MATCH AGAINST, что все работает нормально; однако, когда вы выполняете поиск по времени или оставляете поле пустым, оно не возвращает никаких результатов.Mysql MATCH AGAINST пустое поле, чтобы дать все результаты

Как вы это делаете, чтобы вместо этого возвращать ВСЕ результаты?

Благодаря

+0

um, его сложный вид, потому что, оставляя поле пустым и нажав на поиск, должны отображать последние 10 записей из таблицы - если это имеет смысл. – Lan

ответ

1

Вы собираетесь должны разработать некоторую логику поиска в приложении.

Синтаксис MATCH(columns) AGAINST 'string' делает то, что он делает, что является полнотекстовым поиском.

Если ваш пользователь не дает вам пригодную для использования строку или если строка, очевидно, является временным, или если ваш набор результатов поиска MATCH...AGAINST выглядит пустым, вам нужно сделать еще один запрос, который возвращает самые последние десять записей , Но этот запрос не требует полного соответствия текста.

Имейте в виду, что стоп-слова - это боль в шее. Например, есть рок-н-ролл-группа под названием The The. Вероятно, вы не найдете эту группу с полнотекстовым поиском.

+0

ОК. Благодарю. Я думал, что много, но просто хотел проверить, что вы не можете использовать матч против '*' или '?' или что-то подобное, что дает все результаты. еще раз спасибо – Lan

Смежные вопросы