phpbar.de logo

Mailinglisten-Archive

Optimierungen

Optimierungen

Heiko Schubert mysql_(at)_lists.phpcenter.de
Fri, 23 Mar 2001 20:02:30 GMT


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