sarkisssik
@sarkisssik

MATCH AGAINST. Почему не реагирует на «точку» в запросе?

Здравствуйте. В колонке name_adv есть запись "Продам б.у автомобиль" Делаю запрос по слову б.у

select * from bazardnua_advert advert where
  MATCH (advert.name_adv) AGAINST ('+б.у' IN BOOLEAN MODE)

Ничего не ищет. Если убрать точку или использовать другие входящие слова - ищет . В конфиге Mysql стоит поиск минимум на 2 символа

Я так понимаю, что дело в самой точке ? В обычной LIKE используют Регапсы,а вот как мне быть ?

Попробовал как-то так и без результата
AGAINST ('+\"б.у\"' IN BOOLEAN MODE)
Индексы прописаны
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 1
al_gon
@al_gon
Повсей видемости точка не в индексе.

Вам подойдет

select * from bazardnua_advert advert where LOCATE('б.у',name)>0;
select * from bazardnua_advert advert where name like '%б.у%';


Хороший ответ про разницу между подходами:
dba.stackexchange.com/questions/21118/why-full-tex...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы