I boolsk tilstand, kræver det, at strenge er til stede (i stedet for blot at score højere), udføres med +
. præfiksmatching udføres med enden *
. Det ser ud til at være det, du ønsker, så søg efter:
+John* +S*+John* +Smith*+Smith* +J*+Jo* +S*
Bemærk, at fuldtekstindekser ikke kan hjælpe dig med at søge 'hvor som helst i et ord'. så noget som *mith*
er bundet til at mislykkes:de er beregnet til at matche fra tegn 1 i et indeks.
Hvis du også vil bestille dem efter matchværdier, og for eksempel har brug for John Smith
før Johnny Smithson
, ville du gøre dette:
VÆLG * FRA bruger HVOR MATCH(..fields..) AGAINST ('match' I BOOLEAN MODE) ORDER BY MATCH(..fields..) AGAINST ('match' I BOOLEAN MODE) DESC;
Hvilket du vil se, bringer dig ingen vegne, medmindre du tilføjer alle ordene>=ft_min_word_len
igen separat:
+John* +S* John+John* +Smith* John Smith+Smith* +J* Smith+Jo* +S*
For den sidste er begge ft_min_world_len
anderledes ønskes.