Avatar billede dang Praktikant
04. januar 2006 - 16:50 Der er 1 kommentar og
1 løsning

Like søgning

Jeg er lidt i tvivl om det er MySql eller Php jeg skal oprette det her spm, så jeg prøver her til at starte med !

Jeg er ved at lave en søgefunktion som benytter sig af like, men den begrænser søgningen lidt for emget syntes jeg, specielt når man søger på 2 ord, så kommer de i en vilkårlig rækkefølge mht om der er et eller to af ordene som matcher ! kan man sortere dem så den starter med dem som indeholder begge ord ?
Avatar billede muddi Praktikant
06. januar 2006 - 15:05 #1
Det ville have været rart, hvis du angav hvilken MySQL-version du bruger.
Men uanset om det er 4.x eller 5.x, så vil jeg anbefale at du bruger Full-text søgning. Det gør du ved at oprette et Full-Text index på det/de "columns" du vil foretage søgningen på.
Du bruger så MATCH(felt1, felt2, ...) AGAINST('søgeord')

Følg det link nedenfor der passer til den version af MySQL du bruger:

http://dev.mysql.com/doc/refman/4.1/en/fulltext-search.html
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

Et eksempel på en SQL-forespørgsel med Full-text søgning (det antages at der er dannet et FÆLLES Full-Text index på feltet `titel` og `indhold`)

SELECT `titel`, `indhold`, MATCH(`titel`, `indhold`) AGAINST('$s') AS Score
FROM `artikler`
WHERE MATCH(`titel`, `indhold`) AGAINST ('$s')
ORDER BY Score DESC

PHP-variablen $s indeholder den tekst der skal søges på.

Nu søges der nemlig både i titel og indhold, og jo flere gange ordet optræder i teksten, jo højere score opnår den artikel. Vi sorterer så de fundne artikler med den højeste score først og med de mindst relevante artikler nederst.

Men kig lige på det, og se om det ikke løser dine problemer.

/Morten
Avatar billede dang Praktikant
06. januar 2006 - 15:18 #2
Den version jeg kører er 4.0.21
Jeg roder lige lidt med det :p Takker for hjælpen !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester