Hallo,
ich möchte gerne mit MySQL eine Volltextsuche realisieren und stehe derzeit vor einem Problem, wo ich und auch andere teilweise nicht mehr weiter wissen ...
Nun ich bin ein Stück weiter gekommen, aber nicht sehr weit.
Ich habe mal folgendes getan, um das Problem etwas einzugrenzen:
Ich habe von jemanden einen Tabellen-Dump bekommen, der zuvor von dieser Person auf einen anderen Server ausprobiert wurde unter phpmyadmin 2.0.5! Diese Person konnte problemlos bei sich auf dem Server mit dem SQL-Befehl
alter table testtabelle add fulltext vollsuche (inhalt,betreff,text)
einen INDEX erstellen. Hier einmal der Tabellen DUMP:
CREATE TABLE testtabelle (
nr int(4) unsigned NOT NULL auto_increment,
art tinyint(1) unsigned DEFAULT '0' NOT NULL,
betreff varchar(25) NOT NULL,
inhalt varchar(70) NOT NULL,
date date DEFAULT '0000-00-00' NOT NULL,
text text NOT NULL,
PRIMARY KEY (nr)
);
So ich nahm diesen DUMP und habe ihn über mein phpmyadmin 2.1.0 importiert in meine MySQL-DB. Dann habe ich im Formular, wo man SQL-Befehle eingeben kann den Befehl:
alter table testtabelle add fulltext vollsuche (inhalt,betreff,text)
bzw.
alter table testtabelle add fulltext vollsuche (inhalt,betreff,text);
eingegeben. Darauf hin kam bei mir komischerweise folgendes:
Fehler
SQL-Befehl:
alter table kleinanzeigen add fulltext vollsuche (email,betreff,text)
MySQL meldet: You have an error in your SQL syntax near 'vollsuche
(email,betreff,text)' at line 1
Die Tabelle konnte ich fehlerfrei importieren. Was mich aber derzeit
wundert, warum ging es problemlos bei der anderen Testperson, und bei mir nicht? Ich habe darauf hin das ganze auch noch mal auf meinem Server mit phpmyadmin 2.0.5 ausprobiert, mit dem gleichen Ergebnis. Nun stellt sich die Frage, wo liegt der Fehler? Hat phpmyadmin einen Bug, oder ist es falsch konfiguriert, oder ist das von meinem Provider (Puretec) gesperrt oder oder? Rein theoretisch hätte es ja auch bei mir funktionieren müssen, da ich ja
nichts verändert habe...
So in phpmyadmin ist unter der einzelnen Tabellenansicht noch so ein
Tabellenbereich mit Aktionen, wo auch ein INDEX dabei steht, da würde mich mal interessieren, ob das das gleiche INDEX da ist, was ich da benötige. Denn damit konnte ich bei der ein oder anderen Tabelle etwas erreichen, wobei ich da jedes einzelne Feld sozusagen dann einzeln indexzieren muste, und es hat auch nur bei dem type varchar funktioniert bei text wiederum nicht! Desweiteren wie kann ich erkennen anhand eines Tabellen DUMP ob es sich da um einen MyISAM Tabellentypen handelt? Bzw. wer kann mir mal etwas
über MyISAM verraten?
Wer kann bei diesem merkwürdigen Problem weiterhelfen, bzw. wer kann einen Tipp geben, um dieses Problem zu beseitigen?
Im voraus besten Dank.
Mfg.
Sascha
PS. Hier noch ein paar Serverangaben:
Laut phpinfo unter PHP4 bekomme ich folgende Daten:
PHP Version 4.0.6
MySQL 3.23.32 Client API Version