Для небольшого и простого инструмента поиска на моем сайте я использую MySQL MATCH AGAINST для поиска наиболее релевантных строк на основе поискового запроса. Теперь я использую этот запрос:Поиск в MySQL соответствует части слова
SELECT * FROM mytable WHERE MATCH (name,description) AGAINST ('".$term."*' IN BOOLEAN MODE)
Если я, например, поиск «SYS» запрос дает мне результаты со словами как система или системы. Проблема, с которой я столкнулась, и то, что я хотел бы достичь, заключается в том, что когда термин поиска является «системами», я получаю результаты только с точным словом «системы», где я хотел бы получить результаты со словом «система», также.
Я уже проверил Документы, но я не могу найти решение. Раньше кто-то сталкивался с этим?
Это невозможно. Думаю об этом. С этим: '' ". $ Term." * * Вы определили, что если поиск начинается с '' systems * '', тогда он покажет вам все записи, что началось с' systems' и '' systemstools'' , и т. д. Как mysql должен выяснить, что вам нужно '' система ', если вы дадите поисковый запрос 's' в конце? – vaso123
Я понимаю. Но как это можно сделать? – Mikelo
Вырезать последнюю или последнюю букву или использовать первые 3 слова, я не знаю, какова ваша логика. – vaso123