Hallo,
ich möchte eine Volltextsuche nach Relevanz realisieren. Unter `myIsam` hatte ich das schonmal für ein anderes Projekt am laufen. Für `innoDB` bekomme ich es einfach nicht hin.
ich würde gerne mehrere Matches in das Select Statement schreiben, bekomme aber jedes mal den Error, das ich immer alle VollTextSpalten hinzufügen soll. Macht aber keinen Sinn. Wenn ich möchte den verschiedenen Spalten unterschiedliche Relevanzwerte zuweisen. Also hat zum Beispiel 'Spalte1' einen Multiplikator vor 10 und 'Spalte2' einen von nur 3. Dafür müsste ich aber in das Matching jeweils nur eine FullTextSpalte einfügen. Das scheint aber unter innoDB nicht zu gehn. Alle Beispiele aus dem Netzt bekomme ich nicht zum laufen. Kann mir da jemand weiter helfen?
Funktioniert:
ich möchte eine Volltextsuche nach Relevanz realisieren. Unter `myIsam` hatte ich das schonmal für ein anderes Projekt am laufen. Für `innoDB` bekomme ich es einfach nicht hin.
ich würde gerne mehrere Matches in das Select Statement schreiben, bekomme aber jedes mal den Error, das ich immer alle VollTextSpalten hinzufügen soll. Macht aber keinen Sinn. Wenn ich möchte den verschiedenen Spalten unterschiedliche Relevanzwerte zuweisen. Also hat zum Beispiel 'Spalte1' einen Multiplikator vor 10 und 'Spalte2' einen von nur 3. Dafür müsste ich aber in das Matching jeweils nur eine FullTextSpalte einfügen. Das scheint aber unter innoDB nicht zu gehn. Alle Beispiele aus dem Netzt bekomme ich nicht zum laufen. Kann mir da jemand weiter helfen?
Funktioniert:
PHP-Code:
$sql = "SELECT id, einrichtung1, plz, ort, strasse, beschreibung, ";
$sql .= "MATCH(einrichtung1, einrichtung2, plz, ort, strasse, beschreibung,beschreibung2,beschreibung3,beschreibung4,beschreibung5,beschreibung6) ";
$sql .= "AGAINST ('+wort1 +wort2' IN BOOLEAN MODE) as score ";
$sql .= "FROM `tabelle` ";
$sql .= "HAVING score > 1 ORDER BY score DESC LIMIT 10";
Kommentar