Ich verwende die Volltextsuche für die Suchfunktion eines Onlinemagazins. Die Relevanz möchte ich "relativ" in Prozent umrechnen. So weit auch kein Problem.
Nur wird das Suchergebnis auf mehrere Seiten mit jeweils 10 Ergebnissen aufgeteilt, die jeweils per LIMIT ausgewählt werden. Da ich aber nicht auf jeder Seite wieder mit 100% beginnen möchte, muss ich die maximale Relevanz der unbeschränkten Abfrage noch extra auslesen. Nun ist meine Frage. Wie kann ich dies am elegantesten tun?
Meine Idee wäre etwas in der Art:
SELECT ,
MATCH(preheadline,headline,content) AGAINST('".$_POST['keywords']."') AS mtch
FROM artikel WHERE published = 1 HAVING mtch > 0.001 ORDER BY mtch DESC LIMIT 1
Ich befürchte nur, das eine SELECT-Abfrage ohne Spalten nicht funktionieren wird? Mich interessiert schließlich nur der zugewiesene Wert mtch und keine der Spalten.
Kann man dies irgendwie elegant lösen?
Besten Dank im Vorraus!
NiFreDi
Nur wird das Suchergebnis auf mehrere Seiten mit jeweils 10 Ergebnissen aufgeteilt, die jeweils per LIMIT ausgewählt werden. Da ich aber nicht auf jeder Seite wieder mit 100% beginnen möchte, muss ich die maximale Relevanz der unbeschränkten Abfrage noch extra auslesen. Nun ist meine Frage. Wie kann ich dies am elegantesten tun?
Meine Idee wäre etwas in der Art:
SELECT ,
MATCH(preheadline,headline,content) AGAINST('".$_POST['keywords']."') AS mtch
FROM artikel WHERE published = 1 HAVING mtch > 0.001 ORDER BY mtch DESC LIMIT 1
Ich befürchte nur, das eine SELECT-Abfrage ohne Spalten nicht funktionieren wird? Mich interessiert schließlich nur der zugewiesene Wert mtch und keine der Spalten.
Kann man dies irgendwie elegant lösen?
Besten Dank im Vorraus!
NiFreDi
Kommentar