У меня есть таблица со столбцом содержимое с индексом FULLTEXT .
Я хочу воспользоваться скоростью MATCH () на большом тексте.
Я хочу, чтобы поиск был максимально точным.
Когда я ищу строку фразы « большой грузовик » следующим образом:
SELECT * FROM MyTable WHERE MATCH(content) AGAINST('"large truck"' IN BOOLEAN MODE);
Некоторые экземпляры пропущены.
MyTable:
| content |
----------------
|Large \n truck| FOUND ✓
----------------
|large truck | FOUND ✓
----------------
|large trucks | *PLURAL MISSED!
----------------
|large truckl | *TYPE-O MISSED!
Если я использую стандартный LIKE / подстановочный знак метод:
SELECT * FROM `MyTable` WHERE `content` LIKE '%large truck%'
MyTable:
| content |
----------------
|Large \n truck| *MISSED!
----------------
|large truck | FOUND ✓
----------------
|large trucks | FOUND ✓
----------------
|large truckl | FOUND ✓
Кажется, я не могу использовать поиск PHRASE с подстановочными знаками вместе:
SELECT * FROM MyTable WHERE MATCH(content) AGAINST('"large truck*"' IN BOOLEAN MODE); **DOES NOT WORK**
ИЛИ
SELECT * FROM MyTable WHERE MATCH(content) AGAINST('"large truck"*' IN BOOLEAN MODE); **DOES NOT WORK**
Итак ...
Как мне успешно использовать MATCH () AGAINST () для поиска фразы и вернуть все экземпляры - даже совпадения частичных строк без учета регистра?