zoeken in liedjes-database, relevantie

Status
Niet open voor verdere reacties.

That Guy

Meubilair
Lid geworden
28 nov 2006
Berichten
5.010
Hoi allemaal,


ik heb een database met zo ongeveer deze opzet:
Code:
id (int11)
artist (text)
title (text)
album (text)
track (int11)
en een FULLTEXT(artist, title, album).

Nu wil ik dus door deze data een zoekendus had ik eerst zoiets:
Code:
SELECT *
FROM songs
WHERE artist LIKE '%" . $searchq . "%' OR title LIKE '%" . $searchq . "%' OR album LIKE '%" . $searchq . "%'
ORDER BY artist, album, track, title ASC
waar $searchq de string is van de zoekopdracht. Nu is dit dus een beetje onhandig, dus na wat zoeken kwam ik uit op het hele FULLTEXT-gedoe. Nu is mn query dit:
Code:
SELECT id, title, artist, album, track, MATCH(title, artist, album) AGAINST ('%" . $searchq . "%') as relevancy
FROM songs
WHERE MATCH(title, artist, album) AGAINST ('%" . $searchq . "%')
ORDER BY relevancy DESC, artist ASC
maar dit geeft nogsteeds niet echt de optimale zoekresultaten terug; als ik bijvoorbeeld zoek op "shine", wil ik niet alleen het nummer 'The Golden Shine' krijgen (die krijg ik dus), maar ook de artiest 'Shinedown' (die krijg ik dus niet).



Weet iemand hoe ik dit het beste kan oplossen? Basic sql lukt me wel, maar dit hele match-against gedoe is nieuw voor me.


Alvast bedankt! :thumb:
 
Laatst bewerkt:
Bedankt voor de link naar het artikel, helemaal goed. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan