Archiv verlassen und diese Seite im Standarddesign anzeigen : Vorteil von MySQL-Volltextsuche?
AndreasP
29.11.2005, 09:27
Hallo,
Welchen Vorteil hat die MySQL-Volltextsuche gegenüber der vBulletin-eigene Suchfunktion?
Anders gefragt: warum sollte ich wechseln?
Andreas
StGaensler
29.11.2005, 10:24
Wenn du ein sehr großes Board betreibst, ist die MySQL suche schneller, da MySQL selbst den Suchindex verwaltet. Bei kleineren Boards ist das eigentlich egal, welche Suchfunktion verwendet wird.
RolandCP
29.11.2005, 13:01
Das Problem ist nur, dass bei den meisten Providern das Minimum der Suchworte auf 4 Zeichen eingestellt ist und es auch keine Möglichkeit gibt, Ausnahmen, wie bei der vB Suche, einzugeben.
Das war der Grund, warum ich bei der vB Suche blieb.
AndreasP
29.11.2005, 15:29
Wenn du ein sehr großes Board betreibst, ist die MySQL suche schneller, da MySQL selbst den Suchindex verwaltet. Bei kleineren Boards ist das eigentlich egal, welche Suchfunktion verwendet wird.Da stellt sich nur die Frage, wie groß ist 'groß'? Gibt es eine Faustregel, ab wann es sich rentiert?
Und, gibt es auch Nachteile, neben dem, von Roland beschriebenen?
Andreas
Also bei mir war ab ca. 500K Beiträge die vBulletin-eigene Suche bei bestimmten Suchbegriffen praktisch nicht mehr nutzbar - Skript-Abrruch wg. zu hohem Speicherbedarf.
RolandCP
30.11.2005, 09:22
Nur wie soll man mit der Volltextsuche nach Wörtern<4 Zeichen suchen. Das ist wirklich ein Problem?
AndreasP
30.11.2005, 10:21
Also bei mir war ab ca. 500K Beiträge die vBulletin-eigene Suche bei bestimmten Suchbegriffen praktisch nicht mehr nutzbar - Skript-Abrruch wg. zu hohem Speicherbedarf.Bei meinem Forum sagt die Statistik:
Datenbankverbrauch 89,81 MB
Index belegt 16,94 MB
Anhänge belegen 40,93 MB
Wieviel tatsächlich die Beiträge 'verbrauchen' steht da nicht; aber eines ist klar: bislang hatte ich noch nie Probleme mit der Suche oder speziellen Suchbegriffen. Ich denke, ich bleib mal bei der vB-Suche.
Auch dass er mit < 4 Buchstaben nicht geht, ist nicht ideal!
Andreas
Meine DB ist nen Ticken größer, so ca. 3 GB ;)
Die Größe der DB ist auch nicht das Problem, sondern der Speicherbedarf (Arbeitsspeicher) - da wird bei der vBulletin-eigenen Suche prinzipbedingt ggf. sehr viel benötigt.
Die minimale Suchlänge kannst du einstellen, sofern du Zugriff auf die mySQL Konfiguration hast.
Davon abgesehen: Welche signifikaten Suchbegriffe < 4 Zeichen gibt es denn?
Mir würden da spontan nur Abkürzungen einfallen.
RolandCP
30.11.2005, 15:50
Mir würden da spontan nur Abkürzungen einfallen.
Glaub mir, das hängt sehr stark vom Thema des Forums ab. Wir haben z.B. ca. 70-80 sehr, sehr wichtige Ausnahmen.
SPS-FORUM_DE
12.02.2006, 14:07
hallo,
wo kann ich diese information sehen:
Datenbankverbrauch 89,81 MB
Index belegt 16,94 MB
Anhänge belegen 40,93 MB
wo kann ich sehen wie lange die suchworte sein müssen?
steht das irgendwo in der php-info?
danke
markus
AdminCP -> vBulletin-Einstellungen -> Administrator-Kontrollzentrum -> Statistikanzeige auf ja gestellt?
Wenn ja, stehen diese Infos auf der index-seite (Startseite) im AdmiCP. ;)
SPS-FORUM_DE
12.02.2006, 15:13
@pagan
danke jetzt seh ichs...
@rest
die frage nr ist noch offen.
wo kann ich sehen wie lange die suchworte sein müssen?
steht das irgendwo in der php-info?
StGaensler
12.02.2006, 17:19
Wahrscheinlich nicht, das wird in der my.cnf (Konfigurationsdatei von MySQL) stehen - wo genau weiß ich aber selbst nicht.
Gib in phpMyAdmin dieses Query ein:
SHOW VARIABLES;
Suche dann:ft_min_word_len 3
ft_max_word_len 254
ft_min_word_len = minimale Wortlänge
Du kannst es auch hier ansehen:
Administrator-Kontrollzentrum -> Wartung -> Diagnose -> Systeminformation -> Abschicken
SPS-FORUM_DE
16.02.2006, 18:01
ok danke mal soweit, es sind 4 zeichen bei all-inkl.com
(bei shared servern)
jetzt noch die preisfrage:
ein user aus meinem fprum fragte mich folgendes:
Wenn Ich nach "CP 443 IT FTP" suche (weiß nicht, ob die Kombination so Sinn macht, ist aber auch egal), sind das dann 4 unerlaubte Suchworte oder gilt das ganze als eine Suchanfrage mit mehr als 3 Zeichen ?
ich kann die frage nicht so richtig beantworten.
beziehen sich die 4 zeichen auf die einzelnen worte oder auf den ganzen searchstring?
danke!
Odysseus
16.02.2006, 18:51
Wenn du 4 als minimale Zeichenlänge eingegeben hast, sind alle vier Worte der genannten Suchanfrage "illegal", weil die alle zu kurz sind.
Bei deinem Forum würde es vermutlich Sinn machen, die Suchlänge auf 2 zu reduzieren -- du hast ja beim Thema SPS viele solcher abkürzungen.
NAch der Anhebung musst du natürlich den Suchindex neu generieren lassen. (Punkt "Wartung" im Admin Center).
Es sind in der momentanen Version 4 Suchbegriffe, und selbst bei 2 Zeichen Länge und vorhandenen Suchbegriffen würden CP und FTP nicht gefunden.
Aber auch wenn das als Phrase gewertet würde (d.h. ein Treffer wäre nur dann wenn es exakt so hintereinander in einem Text vorkommt) müsste die Länge auf 2 Zeichen eingestellt sein, da jedes "Wort" (für nähere Definition von "Wort" siehe mySQL Handbuch) einzeln indexiert wird, d.h. da jeweils die minimale Länge gilt.
NAch der Anhebung musst du natürlich den Suchindex neu generieren lassen. (Punkt "Wartung" im Admin Center).Bei der Volltextsuche ist das aber nicht nötig. Dort muss er die Indizes löschen und neu erstellen.
Macht es denn, performance-technisch gesehen, überhaupt Sinn die minimale Wortlänge auf 2 zu setzen in einem Forum mit mehr als 3 Millionen Postings?
Die normale vBulletin-Suche ist bei uns zur Zeit mehr oder weniger sinnlos, da es oftmals zu den berühmten Speicherfehlern kommt.
Reicht es wenn man
ft_min_word_len 3
ft_max_word_len 254
[
in die My.CF packt ?
Gruß
snatch
Danach aber noch den MySQL-Server neu starten, damit er die neue Config einliest.
Und danach die Indexe neu erstellen/reparieren - damit auch die kürzeren, noch nicht indexierten Wörter drin landen
ALso ich habe das jetzt mal ungetellt.
Was mich stört ist, dass wenn man nun eine Suche nach z.B. "de" startet er nicht sagt das der Text zu kurz ist, sondern einfach sagt er habe nichts gefunden.
Ich habe jetzt
ft_max_word_len 84
ft_min_word_len 3
Gebe ich als Suche "Jean" ein, findert er Themen, gebe ich aber nur "jea" ein, sollte er ja mindestens das gleiche finden tut er aber nicht. Er findet so deutlich weniger.
Einen Geschwindigkeitsvorteil konnte ich jetzt auch noch nicht feststellen. Aber ich werde den Server load mal im Auge behalten.
GRuß
Snatch
Nein, bei jea findet er nicht das gleiche wie bei jean.
Bei jea* im boolean mode würde auch jean gefunden, ebenso wie z.B. jeans
Eine Meldung dass der text zu kurz ist wenn du 2 Zeichen eingibst kommt nur dann wenn du das in vBulletin auch auf 3 Zeichen eingestellt hast.
(Administrator-Kontrollzentrum -> vBulletin-Einstellungen -> Suchmaschine: Einstellungen -> Minimale Wortlänge für den Suchindex -> 3)
Guten Morgen,
ich habe ein Problem beim Ausführen der MySQL-Volltextsuche. Ich bekomme eine Fehlermeldung, wenn ich auf Los klicke:
MySQL-Fehler: Access denied for user: 'xxx@localhost' to database 'user_xxx1'
Auf meine eigenen Datenbank sollte ich doch Vollzugriff haben, denn bei der Installation ist nichts schief gegangen, auch Beiträge werden gespeichert usw. usf.?!
Oder habe ich gar eine falsche Einstellung bzw. mein Provider? Was muss ich dem mitteilen, an welcher Stelle er was zu ändern hätte?
Vielen Dank für eure Antworten im voraus.
Gruß Stöbi
Nachtrag:
Bei mir auf meinem Rechner (localhost) klappt das übrigens.
Bei meinem Provider bekomme ich die Fehlermeldung, wie oben angegeben.
"canrunqueries" habe ich auch auf 1 gesetzt.
Nachtrag 2:
MySQL Statements sonst über phpMyAdmin meines Hosters kann ich ausführen. Seltsam, ich bin etwas verwirrt.
Bringt das ganze vom Platz her in der DB was?
Bringt das ganze vom Platz her in der DB was?
denke eher nicht, einzig das dump mit z.b. mysqldumper ist nur halb so groß und geht ratzfatz weil der index ja nicht gesondert gespeichert wird mit vielen futzeldatensätzen ;)
Das bringt auch schon jede Menge :D
Meine Dumps sind immer so groß, dass sie zusammen mit meinem Forum und meiner Bildergalerie fast meinen Webspace auffressen, dann wirds immer knapp mit dem Erstellen der SQL-Dumps...
Da ich leider keinen SSH Zugang habe muss ich immer ein Perl Script verwenden mit einer speziellen Perl-Ausführungsoption beim Schlund Kundencenter in der es keinen Error 500 gibt, was natürlich bedeutet, dass er den Dump direkt aufm Webspace erstellt und ich den dann per FTP runterladen muss (natürlich mit chmods die ihn ausm Browser raus unausführbar machen)...
Gibts da vielleicht irgend ne elegantere Lösung?
Hmmm, ich glaub jetzt komm ich off topic, aber vielleicht hat ja trotzdem wer Lust mit mal eben nen Tipp zu geben :D
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.