sql >> Databasteknik >  >> RDS >> Mysql

Förbättra Mysql Match mot sökning

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.



  1. Uppdateringsproblem med att skapa enkelt PHP, MySql röstsystem

  2. GUI MySQL-databasgränssnitt

  3. MySql lägger till en join ger felaktiga resultat

  4. Hur man löser behörighetsproblem vid återställning av PostgreSQL-databas