sql >> Database teknologi >  >> RDS >> Mysql

Forbedring af Mysql Match mod søgning

Du kan gøre præcis, hvad du vil, ved at matche IN BOOLEAN MODE og ved at bruge * operatør.

For eksempel:

 ... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...

+ fortæller matchen kun at inkludere værdierne af thing der indeholder matchtermen, som i dette tilfælde er alle indekserede værdier, der begynder med "educat " (se her for, hvordan boolsk tilstand fungerer i detaljer).

Som en sidebemærkning indekserer fuldtekstsøgning i MySQL ikke ord på 3 eller færre tegn som standard, så jeg formoder, at dit match med "edu" ikke fungerer, som du tror. Se på værdien af ​​din ft_min_word_len variabel for at se, om det er tilfældet.



  1. Deadlock-puslespil:Offer ejer ikke nogen ressource, bruges til at dræbe for at løse dødvande

  2. Uafhængig af store og små bogstaver REPLACE til MySQL

  3. Hvordan indstiller man kodningen for tabellernes char-kolonner i django?

  4. Sådan får du en lignende værdi i Oracle