Mailinglisten-Archive |
Hallo Liste, ich setze MySQL 3.23.35 unter Linux in einem PHP-Projekt ein und mache regen Gebrauch von der Volltexstsuche. Da ich auch nach Wörtern mit drei Buchstaben suchen möchte, habe ich meine MySQL-Version entsprechend angepaßt: myisam/ftdefs.h #define MIN_WORD_LEN 3 und die Stopword-Liste von myisam/ft_static.c komplett gelöscht. Die Suche funktioniert auch wunderbar, nur bekomme ich ein kleines Perfomace-Problem bei sehr vielen Treffern (100.000 Artikel mit bis zu 1000 Zeichen Text pro Artikel liefert einiges an Daten): Suche ich z.B. nach "der" bekomme ich entsprechend viele Treffer (klar, daß ich hier die stopwordliste noch entsprechend anpassen werde), die ich logischerweise nicht alle auf einer Seite anzeige. Das Blättern funktioniert auch, nur habe ich das momentan wie folgt gelöst: Angeboten wird das Blättern eine Seite vor und eine zurück. Klickt man auf einen der beiden Links, dann wird eine erneute Abfrage gestartet, dieses mal aber mit der entsprechenden Ergänzung der Anfrage SELECT ... LIMIT 2,5 usw. Klickt man die Detailinfo an, bekommt man in der einen Link geliefert, in der man eine Seite zurück kommt. Nun wollte ich das nicht mit JavaScript lösen, also wird logischerweise auch bei der Rückkehr zur Liste die Datenbank erneut befragt. Das kann bei so vielen Treffern schon echt nerven :-( Nun meine Fragen: 1. Hat jemand eine gute stopwordliste für den deutschen Sprachgebrauch? 2. kann man die letzte Abfrage irgendwie "cachen"? Ich meine das so: geht man in die Detailinfo und kehrt aus dieser wieder zurück, wird nicht die Datenbank erneut befragt. Ich hoffe, daß ich mich verständlich ausgedrückt habe ;-) Vielleicht arbeitet ja jemand an einem ähnlichen Projekt (PHP + MySQL mit Volltextsuche) und kann mir ein paar Erfahrungen mailen ... das wäre super! Bye, Heiko --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive