Hi,
wieder mal ein Problem für die Profis:
Ich habe eine Tabelle mit zwei Volltextindizes über "titel" und "text". Zur Zeit ca. 21.000 Einträge, die zu 50 MB Daten und 30 MB Index führen.
Wenn ich jetzt folgende Anfrage absende:
[CODE lang=SQL]
SELECT * FROM tabelle WHERE MATCH (title,text) AGAINST ('horst köhler' IN BOOLEAN MODE)
[/CODE]
bekomme ich nach unter einer Sekunde ein Ergebnis, allerdings auch zu Horst Schlämmer, dem Horst eines Falken und dem antiken Berufsstand des Köhlers.
Wenn ich nun den Suchbegriff in Anführungszeichen setze, wie von Google gewohnt und von der MySQL-Syntax unterstützt, bekomme ich zwar die gewünschten Ergebnisse, allerdings erst nach 3-4 Sekunden. Das ist zu langsam, zumal die Tabelle in nächster Zeit ca. zehnmal so viele Einträge haben wird.
Ich habe auch bereits das Problem identifiziert: Ein Volltextindex legt einen Index nach Wörtern an und eine Suche nach zwei Wörtern hintereinander muss für jede Paarung erfolgen.
Gibt es eine Möglichkeit, einen Index über alle Kombinationen aus zwei und drei Wörtern anzulegen oder sonst eine Möglichkeit, die Suche zu beschleunigen?
Hinweis: Ich benutze MySQL 5.0
Danke im Voraus!
Der Yeti