Bạn có thể làm chính xác những gì bạn muốn bằng cách đối sánh IN BOOLEAN MODE
và sử dụng *
nhà điều hành.
Ví dụ:
... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...
+
yêu cầu trận đấu chỉ bao gồm các giá trị của thing
có chứa cụm từ đối sánh, trong trường hợp này là tất cả các giá trị được lập chỉ mục bắt đầu bằng "educat
"(xem tại đây
để biết cách hoạt động chi tiết của chế độ Boolean).
Ngoài ra, tìm kiếm Fulltext trong MySQL không lập chỉ mục các từ có 3 ký tự trở xuống theo mặc định, vì vậy tôi nghi ngờ kết quả khớp của bạn với "edu" không hoạt động theo cách bạn nghĩ. Xem giá trị của ft_min_word_len
của bạn để xem có phải như vậy không.