simenss Skrevet 26. januar 2008 Del Skrevet 26. januar 2008 Jeg kjører følgende spørring mot min mySQL-database: SELECT * FROM `table` WHERE MATCH (`address`,`description`,`tags`,`title`) AGAINST('+computer' IN BOOLEAN MODE) Jeg får kun opp rader som matcher 'computer' og ikke for eksempel 'computers'. Hvordan omformulerer jeg spørringen så den også søker på deler av ord? Lenke til kommentar
G2Petter Skrevet 26. januar 2008 Del Skrevet 26. januar 2008 Du kan prøve med %-tegn: SELECT * FROM tabellnavn WHERE kolonne='%streng' Dette gir deg alle treff der kolonnen inneholder ord som slutter med 'streng' Tilsvarende kan du bruke SELECT * FROM tabellnavn WHERE kolonne='streng%' som gir deg alle treff der kolonnen slutter med 'streng', og SELECT * FROM tabellnavn WHERE kolonne='%streng%' som gir deg alle treff der kolonnen inneholder 'streng'. Jeg vet ikke om dette fungerer med match() against(), men jeg kan ikke se noen grunn til at det ikke skal gjøre det. Lenke til kommentar
Manfred Skrevet 26. januar 2008 Del Skrevet 26. januar 2008 (endret) Wildcard i fulltext search er vel * så langt jeg kan se. Første treff her: http://www.google.no/search?hl=no&q=sq...ainst&meta= Gir: http://www.informit.com/articles/article.a...75&seqNum=9 Som forklarer syntaxen i fulltext search. Det er lov å bruke google. Mao: SELECT * FROM `table` WHERE MATCH (`address`,`description`,`tags`,`title`) AGAINST('+computer*' IN BOOLEAN MODE) Endret 26. januar 2008 av Manfred Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå