Höchste Relevanz bei MATCH ... AGAINST Abfrage auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Höchste Relevanz bei MATCH ... AGAINST Abfrage auslesen

    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

  • #2
    So, habe jetzt selber einfach mal rumgespielt. Eine SELECT Abfrage ohne angegebene Spalten funktioniert wie erwartet nicht, folgendermaßen läuft das ganze aber:

    SELECT NULL,
    MATCH(preheadline,headline,content) AGAINST('Skandal') AS mtch
    FROM artikel WHERE published = 1 HAVING mtch > 0.001 ORDER BY mtch DESC LIMIT 1

    Das Ganze hat den Effekt, dass er mir eine Spalte NULL, die vom Wert her natürlich ebenfalls NULL ist sowie die gewünschte Relevanz ausgibt. Mein Wunsch, dass nicht irgendwelche Daten unnötigerweise ausgelesen werden, erfüllt sich damit ja eigentlich ... Nur geht das vielleicht noch "eleganter", oder meint ihr, ist dies die beste Lösung?

    Kommentar


    • #3
      du hast doch in deiner erster abfrage eine spalte 'mtch' gemacht.
      vermutlich liegt dein Problem daran, das du einfach direkt nach dem 'SELECT' eine sinnlose Komma reingehaut hast
      Slava
      bituniverse.com

      Kommentar


      • #4
        Ah, danke ... So funktionierts ja genau so, wie's soll ...
        Warum ich nicht selbst auf die Idee gekommen bin, das mal ohne Komma zu versuchen ... Mit Spalten immer so gemacht und dann nicht gewagt das wegzulassen ...

        Kommentar

        Lädt...
        X