Я пытаюсь найти в индексе MySQL FT строки, которые начинаются с 'Ford', чтобы можно было найти такие строки, как 'Ford', 'Ford1', 'Ford3', 'FordFord' и т. Д. .. (именно поэтому я использую '*'):
SELECT DISTINCT CARS.car
FROM CARS_FT_INDEX CARS_IDX
WHERE ( MATCH ( CAR_NAME ) AGAINST ( "/+FORD*/" IN BOOLEAN MODE) )
Однако, возможно, поисковый термин будет содержать '@' или другой специальный символ ("/ + FORD @ * /"), который разрешится с сообщением об ошибке:
SQL Erorr (1064): синтаксическая ошибка, неожиданный '@', ожидание $ end
Мне было предложено окружить термин с помощью '
('"/+FORD@*/"').
Но поисковый термин: AGAINST ( '"/+FORD@*/"' IN BOOLEAN MODE)
(с '@' и '') не действует как "начинать с" сейчас (только точное совпадение), и я не могу найти для нескольких слов ('"/ + FORD1 + FIAT * /"').
Я пробовал много вариантов (включая CONCAT) и пытался искать в Google, но не смог найти никакого решения здесь.
Буду признателен за ваш совет здесь.
Спасибо,
Mike