Du kan göra precis vad du vill genom att matcha IN BOOLEAN MODE
och använda *
operatör.
Till exempel:
... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...
+
talar om för matchningen att endast inkludera värdena för thing
som innehåller den matchande termen, som i det här fallet är alla indexerade värden som börjar med "educat
" (se här
för hur booleskt läge fungerar i detalj).
Dessutom indexerar fulltextsökning i MySQL inte ord med 3 eller färre tecken som standard, så jag misstänker att din matchning med "edu" inte fungerar som du tror. Titta på värdet på din ft_min_word_len
variabel för att se om så är fallet.