Hallo Jeena,
Dein Problem scheint ja die allgemeine Relevanz-Sortierung zu sein. Ich würde das so machen, wie schon beschrieben wurde. Von den kranken Relevanz-Regeln in MySQL mal abgesehen (ich würde den Quatsch eh nicht [mehr] benutzen) - wie soll das allgemein gehen? Ist ein Begriff im Artikel mit gleicher Wertung nun relevanter, als einer im Kommentar oder nicht? Wie soll MySQL das wissen? Da müßtest Du ja einen Join haben und alle Spalten gemeinsam abfragen - mit der Folge, daß nur Begriffe gefunden werden, die in allen Spalten vorkommen. Als Verallgemeinerung könnte ich mir allenfalls vorstellen, daß Du vor der Sortierung im Script einen Durchschnitt berechnest, also "wort" hat in "comments" der Rang 0.625... und in "content" den Rang 0.015478. Das ergibt dann eben einen Gesamtrang von... Moment-Taschenrechner-... 0.320239. Jetzt könntest Du noch, statt die Summe durch zwei zu teilen für die unterschiedlichen Tabellen einen eigenen TabellenRang vergeben und das entsprechend verrechnen. Ein GesamtRang nach MySQL-Regeln wäre ohnehin Quatsch, da wichtige Begriffe aus dem Artikel mit hoher Wahrscheinlichkeit im Kommentar wiederholt werden und dadurch an "Relevanz" verlieren würden.
Ansonsten kannst Du alles in eine Abfrage packen ungefähr (ungetestet) so:
SELECT content.content AS cont_cont, content.title AS cont_title, comments.content AS com_cont, comments.name AS com_name
FROM content, comments
WHERE
MATCH(cont_cont) AGAINST('wort')
OR MATCH(cont_title) AGAINST('wort')
OR MATCH(com_cont) AGAINST('wort')
OR MATCH(com_name) AGAINST('wort')
So, das reicht. Für genaueres müßte ich mal in meiner alten Forumssuche nachschauen, da hab ich ja auch noch diesen Fulltext-Quatsch benutzt.
Gruß, Andreas
SELFFORUM - hier werden Sie geholfen,
auch in Fragen zu richtiges Deutsch