Seite 2 von 6

Verfasst: 25.09.2006 20:35
von Shocker
wenn es nicht stimmen würde hätte ich nicht solche Probleme...

Ich würd sie liebend gern leeren, aber ich fürchte dann geht die suche nicht mehr :(

Verfasst: 25.09.2006 20:41
von Gumfuzi
aber reparieren sollten funzen.

itst hatte mal wo ein Snippet gepostet, welches die DB optimiert und repariert bzw. kann man das auch in phpmyadmin machen - machst Du das einmal am Tag bzw. 1x in der Woche?

die Such-tabellen kann man auch mit den DB Maintenance oder so wiederherstellen lassen...

Verfasst: 25.09.2006 20:53
von miccom
Ich würde mal mit dem DBM-mod:
http://www.phpbb.de/moddb/maintenance
den Suchindex neu aufbauen.

Kannst du auch mal einen Link zum Forum posten?

Verfasst: 26.09.2006 22:41
von mgutt
Ich habe genau das gleiche Problem.

Diese Abfrage z.B. braucht 7 Sekunden:

Code: Alles auswählen

SELECT m.word_id
FROM phpbb_search_wordmatch m, phpbb_search_wordlist w
WHERE w.word_text
IN (
'aber', 'alle', 'auch', 'baby', 'bergische', 'beweisen', 'bin', 'chickas', 'city', 'dafür', 'darf', 'das', 'denk', 'der', 'die', 'durchs', 'ein', 'einem', 'ende', 'fahre', 'fahrenm', 'freue', 'fän', 'gar', 'gebe', 'gefährdet', 'geld', 'gesunden', 'gut', 'habe', 'hier', 'hör', 'ich', 'immer', 'irgenteinem', 'ist', 'kaputt', 'kostet', 'kurve', 'kurz', 'köönt', 'langsam', 'leben', 'lebens', 'liebe', 'liebsten', 'lings', 'mache', 'machen', 'macht', 'mal', 'man', 'manchmal', 'maße', 'mein', 'meines', 'mich', 'mir', 'musik', 'mußte', 'nicht', 'noch', 'nur', 'rasen', 'recht', 'schau', 'schon', 'schön', 'sehr', 'sicher', 'sie', 'spass', 'spiele', 'toll', 'und', 'verzeiehen', 'viel', 'vieleicht', 'von', 'weil', 'wenig', 'wenn', 'wie', 'will', 'wir', 'zerbeult', 'übertreiben'
)
AND m.word_id = w.word_id
GROUP BY m.word_id
HAVING COUNT( m.word_id ) >249000
Warum werden die Wörter von der search_stopwords hier nicht vorher herausgefilter?

Übrigens bringt die Abfrage Null Ergebnisse.

Meine search_wordlist ist 7,5 MB groß und meine search_wordmatch 128 MB.

Da muss echt was dran gemacht werden. Diese Abfrage drückt den Server tierisch in die Knie.

Gruß

EDIT:

Der hier schießt echt den Vogel ab:

Code: Alles auswählen

# Query_time: 42  Lock_time: 0  Rows_sent: 0  Rows_examined: 1155522
SELECT m.word_id 
				FROM phpbb_search_wordmatch m, phpbb_search_wordlist w 
				WHERE w.word_text IN ('05', '6', '202', '300', '1992', 'aber', 'abgeht', 'alle', 'also', 'anderen', 'anfragen', 'aol', 'art', 'aus', 'ausen', 'auser', 'auspuff', 'auto', 'bastler', 'beifahrer', 'besitzt', 'besseren', 'bitte', 'blendstreifen', 'brief', 'bösenblick', 'civic', 'com', 'das', 'daten', 'db', 'den', 'der', 'die', 'ein', 'eine', 'einen', 'eingetragen', 'elektronisch', 'elektronische', 'elektronisches', 'er', 'fahrer', 'fahrzeugschein', 'fisierte', 'flo', 'floriracer0', 'form', 'für', 'gang', 'gebrochen', 'gekauft', 'gerne', 'geschweißt', 'gibt', 'gruß', 'gut', 'habe', 'haben', 'hallo', 'hat', 'heut', 'ist', 'kein', 'können', 'lackiert', 'mehr', 'mein', 'meinen', 'metallic', 'motor', 'mängeln', 'müsste', 'nicht', 'nierenbeckenschutz', 'nun', 'oberkante', 'photos', 'ps', 'quot', 'recaro', 'rennboliden', 'rohr', 'rost', 'rote', 'sauber', 'scheibe', 'scheiben', 'schiebedach', 'sichtbar', 'sichtfeld', 'sieht', 'sind', 'sindblau', 'sitze', 'sitzheitzung', 'sitzpolster', 'sonderausstatung', 'sowas', 'sowie', 'spiegel', 'sportkupplung', 'sportler', 'sprung', 'standgeräusch', 'tachonadeln', 'tage', 'thema', 'und', 'unsachgemäs', 'unterboden', 'verkaufe', 'verklebt', 'verliert', 'verstellbare', 'von', 'was', 'werden', 'wesentlichen', 'wie', 'wird', 'worden', 'wurde', 'zeitgleich', 'zugemailt', 'zum', 'zusammen', 'zwar')  
					AND m.word_id = w.word_id 
				GROUP BY m.word_id 
				HAVING COUNT(m.word_id) > 249001;
42 Sekunden ist untragbar für den Server. Warum tauchen da überhaupt Wörter auf, die eh in der stopword-Liste sind bzw. die weniger als 3 Zeichen haben?!

Verfasst: 28.09.2006 10:24
von mgutt
Die Angelegenheit mit der Filterung der Wörter nach Länge und an Hand der Stopwords interessiert mich doch schon. Werden diese wirklich an dieser Stelle ignoriert?

Verfasst: 28.09.2006 22:41
von Shocker
mittlerweile konnte ich mysqldump aufrufen, aber nachdem das zu speichernde logfile 2GB groß war wurde bei phpbb_search_wordmatch abgebrochen.

Mit gewissem Risiko habe ich also den DB Mod ausprobiert und den Suchindex neu erstellt, der jetzt ~100x kleiner ist. :)
Soweit passt jetzt alles :)

Verfasst: 28.09.2006 22:45
von miccom
Da war auch sicher etwas nicht im reinen... schön das es aber geklappt hat.

Verfasst: 28.09.2006 22:53
von Shocker
Tja, muss mir das mal genauer anschauen... :(
Schon seltsam..

Verfasst: 30.09.2006 10:56
von mgutt
Shocker hat geschrieben:mittlerweile konnte ich mysqldump aufrufen, aber nachdem das zu speichernde logfile 2GB groß war wurde bei phpbb_search_wordmatch abgebrochen.

Mit gewissem Risiko habe ich also den DB Mod ausprobiert und den Suchindex neu erstellt, der jetzt ~100x kleiner ist. :)
Soweit passt jetzt alles :)
Naja, aber das löst nicht das Problem, dass die Anfragen an sich super langsam sind. Eigentlich jeder zweite slowquerie ist einer, der durch diese Abfrage generiert wurde.

Und ich frage mich immer noch warum die Zeichenzahl unter 3 sein darf und dass die stopwords ebenfalls ignoriert werden an dieser Stelle :-?

Verfasst: 30.09.2006 11:12
von Gumfuzi
jo, das ist eine gute Frage...