У меня есть таблица, в которой не много строк и не много столбцов.Я выполняю полнотекстовый поиск по 3 столбцам.
Мой код
$search_input = trim($_GET['s']);
$search = mysql_real_escape_string($search_input);
$search = '+'.str_replace(' ', '* +', $search).'*';
$sql = "SELECT * FROM table WHERE
MATCH(def, pqr, xyz) AGAINST ('$search' IN BOOLEAN MODE)";
$result = mysql_query($sql);
Я могу правильно искать такие термины, как abcdefgh , которые представлены как ... abcdefgh ... .
Но я получаю пустой набор с поисковыми терминами типа abc , где в записи таблицы присутствует что-то вроде abc-123, а также такие термины, как abcdefghs .(обратите внимание, что это множественное число выше)
Ясно, что мне нужно реализовать частичный поиск или что-то в этом роде.
Но как мне реализовать такой поиск?Есть ли лучший способ выполнить поиск по всей таблице при вводе данных пользователем?
Укажите, что я делаю неправильно.
РЕДАКТИРОВАТЬ : добавив * после каждого слова, теперь яЯ также могу искать abcde , но выше проблемы остаются.