Die VARCHAR-Spalte war vorher kein FULLTEXT, deswegen war es noch der alte Typ. Diesen habe ich nun in TEXT umgewandelt, danke.
Hat aber leider nichts geholfen.
Code:
SELECT * FROM `artikel` WHERE MATCH( `matchtest` ) AGAINST ('*ree*' IN BOOLEAN MODE);
Mit deiner Tabelle habe ich es auch getestet, aber war klar, da diese jetzt ja den gleichen Aufbau haben.
Irgendwie habe ich das Gefühl, dass FULLTEXT den Index nicht richtig aufbaut. Im Produktivsystem sind in dieser Tabelle über 600k Datensätze und die Suche mit MATCH funktioniert soweit ganz gut, bis auf das manche Datensätze nicht gefunden werden. Deswegen habe ich die Testtabelle mit nur einem Datensatz erstellt um zu testen ob das gleiche passiert und es passiert das gleiche.
Ich habe nun auch ausgeschlossen, dass es kein Problem mit Umlauten gibt. (Tabelle und Spalte als UTF8, Umlaute entfernt).
Hier die aktuelle Tabelle:
Code:
DROP TABLE IF EXISTS `artikel`;
CREATE TABLE `artikel` (
`artikelid` bigint(20) NOT NULL AUTO_INCREMENT,
`matchtest` text NOT NULL,
PRIMARY KEY (`artikelid`),
FULLTEXT KEY `matchtest` (`matchtest`)
) ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 PACK_KEYS=0 COMMENT='Artikel' AUTO_INCREMENT=1000001 ;
INSERT INTO `artikel` VALUES (1000000, 'Kartoffelpree ist 10 besser für die Haut als Kalke');
Ciao Jake
Lesezeichen