Harald: MySQL - Volltextsuche -die zweite

Hallo,

Ich bin jetzt dazu gekommen, das theoretische um zu setzen, es sieht wie folgt aus:

$result = mysql_query("SELECT ID, Betreff FROM $tabelle WHERE MATCH (Text) AGAINST ('$suche')", $connid);
if(!$result) die("Die Datenbank konnte nicht abgefragt werden");

Jede Suchabfrage bleibt allerdings ergebnislos, doch es wird weder ein Error beim volltextindexerstellen noch bei der Abfrage (Suche) ausgegeben, woran kann dies liegen?

------------
Mfg: Harald

  1. vieleicht ein $ vor Text ^^
    aber meines erachtens is das ganze viel zu komisch ich würde das so machen

    $result = mysql_query("SELECT * FROM $tabelle, $connid);
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
     if (eregi($SUCHWORT, $row[Betreff])) {
                  echo $row[ID]." - ".$row[Betreff]." contains ".$SUCHWORT."!";
            }
    }

    wenn sie/du noch fragen hast TillKruess@gmx.net...

  2. Moin!

    $result = mysql_query("SELECT ID, Betreff FROM $tabelle WHERE MATCH (Text) AGAINST ('$suche')", $connid);
    if(!$result) die("Die Datenbank konnte nicht abgefragt werden");

    Jede Suchabfrage bleibt allerdings ergebnislos, doch es wird weder ein Error beim volltextindexerstellen noch bei der Abfrage (Suche) ausgegeben, woran kann dies liegen?

    Der Volltextindex funktioniert wie eine Suchmaschine: Jedes vorhandene Wort kriegt eine Wertung - häufig vorkommende Worte eine sehr niedrige Wertung, weil sie nicht sehr relevant sind. Das bedeutet: In großen Datenmengen findest du die Dinge am besten, die nicht so häufig vorkommen, in kleinen Datenmengen hingegen sind die Ergebnisse manchmal etwas seltsam. Siehe dazu auch die Dokumentation von mySQL zum Thema "Volltextindex": http://www.mysql.com/doc/en/Fulltext_Search.html

    - Sven Rautenberg

    1. Hallo,

      Danke für die Antworten, ihr habt mir sehr geholfen, jetzt funktioniert alles.

      -------------
      Mfg: Harald

      Der Volltextindex funktioniert wie eine Suchmaschine: Jedes vorhandene Wort kriegt eine Wertung - häufig vorkommende Worte eine sehr niedrige Wertung, weil sie nicht sehr relevant sind. Das bedeutet: In großen Datenmengen findest du die Dinge am besten, die nicht so häufig vorkommen, in kleinen Datenmengen hingegen sind die Ergebnisse manchmal etwas seltsam. Siehe dazu auch die Dokumentation von mySQL zum Thema "Volltextindex": http://www.mysql.com/doc/en/Fulltext_Search.html

  3. Jede Suchabfrage bleibt allerdings ergebnislos, doch es wird weder ein Error beim volltextindexerstellen noch bei der Abfrage (Suche) ausgegeben, woran kann dies liegen?

    Den fulltext index kann man übrigens nicht im phpMyAdmin erstellen, auch wenn es dort viele bequeme links zum Anklicken für jede einzelne Spalte gibt:

    Vielmehr muß der Volltextauf einmal über alle Spalten gleichzeitig angelegt werden.