Suchfunktion des Boards



  • joomoo schrieb:

    So wer jetzt sagt: Ja, dieses Forum ist auch viel größer, der rechnet mal die Anzahl der Beiträge zusammen und merkt, dass das phpBB Forum ungefährt doppelt so viele hat.

    Bist ja ein richtiges Wunderkind! Mal ehrlich: Wenn es mit einem 2-minütigen Update der Forensoftware getan wäre, glaubst du nicht, dass hätte jemand gemacht? Zumal schon einiges an Zeit in die Suche investiert wurde.



  • Das wurde auch, soweit ich weiß alles schon versucht. Es hat nur nix gebracht. Das Forum auf www.gentoo.org hat übrigens auch Probleme mit der Suche des phpbb und afaik haben die auch noch keine wirklich passable Lösung gefunden.

    Wenn ich auf dem Board bei phpbb.com nach "search problems" suche, dann krieg ich ne leere komplett weiße Seite. So gut funktioniert das dort. 👍



  • Jetzt wo ihr soviele Werbe-Einblendung habt könntet ihr euch ja mal eine vernünftige Foren-Software kaufen.



  • @joomoo
    Zudem sei angemerkt, das es sich hierbei, denke ich, durchaus um ein aktuelles phpBB handelt! Man kann phpBB nähmlich auch manuell updaten, man muss nicht immer das Vanilla neu installieren! Allerdings hat das phpBB-Team in letzter Zeit einige Dinge in phpBB eingebaut, die mehr schlecht als Recht sind. Wenn hier nur das Sicherheitstechnische eingebaut wird, dann wundere dich nicht über Abweichungen vom Vanilla!

    EDIT:
    @.............
    Zum Beispiel? vBulletin? Oder WBB? Das ich nicht lache ...



  • Es gibt noch kein Gutes? Dann muss ich mal eins proggen. 😉



  • Mach das! Melde Dich sobald Du es fertig hast! 👍



  • Dann scheint phpBB echt schlecht zu sein.

    Ja das mit dem weißen Bildschirm ist mir auch eben aufgefalle, echt arm.

    Was spricht gegen das WBB? Ich kenn mich da nicht aus, aber das müsste es doch schon geben, ein Board was funtkioniert oder?

    mfg.



  • joomoo schrieb:

    Was spricht gegen das WBB? Ich kenn mich da nicht aus, aber das müsste es doch schon geben, ein Board was funtkioniert oder?

    So einfach kann man ja nicht sagen, daß das phpBB nicht funktioniert. Es hat kein gutes Datenbankdesign bzgl des Suchindex, aber auch das stört selbst bei großen Boards nicht so sehr, solange die Beiträge gewisse Kriterien erfüllen.

    In unserem Fall mit vielen Wiederholungen von bestimmten Worten (Schlüsselwörter der Sprachen) entwickelt sich die Tabelle besonders ungünstig. Das ergibt sich auch aus den Supportforen zum phpBB, einige Leute haben mit der Suche extreme Probleme, während vor allem "Plauderboards" mit Beiträgen, die eher normale Textauszüge sind, keine Schwierigkeiten haben.

    Ob das jetzt bei einem anderen Forensystem besser wäre, kann man nicht sagen. Das phpBB (bzw seine Form der Datenhaltung) hat sich ja auch erst im Laufe der Zeit so zum Negativen hin entartet.

    Auch ist ein Umzug durch die hier durchgeführten spezifischen Anpassungen (Latex, Syntaxcoloring, etc) nur mit erheblichem Aufwand durchführbar.



  • Ganz einfach: WBB kostet Geld und ist vollgestopft mit Plugins, die
    1. keiner braucht
    2. von den Kunden selbst entwickelt wurden und dann irgendwann ins WBB aufgenommen wurden.

    Außerdem währe es wohl ein noch größerer Aufwand, das Forum hier zu portieren, als eine neue Suche zu schreiben.

    @Jester
    Ich habe einmal eine Forensoftware geschrieben ... Das User Management hatte noch ein paar Lücken, aber ansonsten kam die Leistung (bis auf die Dinge wie Syntax Highlighting und LaTeX) in etwa an das phpBB hier ran ... Dumm nur, das es nur unter MySQL 5 und PHP 5.1 lief ... Aber möglich ist es prinzipiell schon im Alleingang 😉

    EDIT: Mist, zu langsam ...



  • Und natürlich haben wir hier aktuelle Patches eingespielt, nur kann man die Versionsnummer hier nirgendwo erkennen. Das ist Absicht.

    In der Diskussion war eine Idee 💡 gut mit 2 Tabellen zu arbeiten, eine nur für die Suche (readonly), und die andere für den schreibenden Zugriff (Indexerstellung). Denn bei bestimmten Suchen tritt genau das Problem auf, daß die anderen DB-Zugriffe solange gelockt sind, bis die Ergebnistabelle erzeugt wurde. Das würde dadurch vermieden.



  • Marc++us schrieb:

    In der Diskussion war eine Idee 💡 gut mit 2 Tabellen zu arbeiten, eine nur für die Suche (readonly), und die andere für den schreibenden Zugriff (Indexerstellung). Denn bei bestimmten Suchen tritt genau das Problem auf, daß die anderen DB-Zugriffe solange gelockt sind, bis die Ergebnistabelle erzeugt wurde. Das würde dadurch vermieden.

    Wenn das wirklich der Hauptgrund ist, dann sollte doch folgendes Vorgehen das Problen lösen:

    Wir nehmen den Suchindex und duplizieren ihn. Das Forum arbeitet weiterhin beim Eintragen wie bisher mit seiner Version vom Suchindex. In der Suche ändern wir alle SQL-Anfragen so ab, daß sie auf der Kopie des Suchindex arbeiten. Jetzt fehlt nur noch ein cronjob, der regelmäßig den von der Suche genutzten Suchindex aktualisiert.

    Einziger Nachteil: wenn Postings gelöscht werden, aber schon indiziert sind, dann ist das ganze nicht vollständig konsistent. Damit könnten wir ja aber vielleicht leben.



  • @Jester: Irgendwie ist das in sich nicht logisch. Es gibt ja eigentlich nur zwei Möglichkeiten wie phpBB das Suchindex aktuell hält.

    1. Möglichkeit: Wenn man sucht wird das Suchindex erstellt. Dann ist es nur nötig das Suchindex aus der Datenbank rauszukopieren, das alte Suchindex zu löschen (was noch in der selben DB wie das Forum liegt). Dann muss man nur die SQL-Anfragen in der Suche so abändern, das sie die andere Datenbank benutzen um ihr Suchindex zu aktualiesieren. (In diesem Fall brauch man kein doppeltes Suchindex)

    2. Möglichkeit: Die Suchfunktion stellt eine Liste mit Wörtern auf die oft gesucht werden. Immer wenn man nun einen neuen Beitrag schreibt, muss das phpBB Skript (zum Beitrag schreiben) nun das Suchindex ergänzen. In diesem Fall muss man der Suchfunktion nur einen anderen Mysql-User zuweisen der nur Leserechte auf die DB hat. (Auch hier werden keine doppelten Einträge benötigt)



  • flammenvogel: Lies nochmal oben, Du denkst am Problem vorbei. Das Locking verursacht offensichtlich heftige Probleme, da würde DrGreenthumbs Idee durchaus was bringen.



  • Jester schrieb:

    Wenn das wirklich der Hauptgrund ist, dann sollte doch folgendes Vorgehen das Problen lösen:

    Wir nehmen den Suchindex und duplizieren ihn. Das Forum arbeitet weiterhin beim Eintragen wie bisher mit seiner Version vom Suchindex. In der Suche ändern wir alle SQL-Anfragen so ab, daß sie auf der Kopie des Suchindex arbeiten. Jetzt fehlt nur noch ein cronjob, der regelmäßig den von der Suche genutzten Suchindex aktualisiert.

    Das hatte ich in der letzten "Suche!"-Diskussion (vor paar Monaten?) schon vorgeschlagen... 2 Tabellen oder 2 ganze Datenbanken (letztere z.B. auf einem alten Rümpel-400Mhz-System), ist aber irgendwie im Sande verebbt alles...



  • Jester schrieb:

    Wir nehmen den Suchindex und duplizieren ihn. Das Forum arbeitet weiterhin beim Eintragen wie bisher mit seiner Version vom Suchindex. In der Suche ändern wir alle SQL-Anfragen so ab, daß sie auf der Kopie des Suchindex arbeiten. Jetzt fehlt nur noch ein cronjob, der regelmäßig den von der Suche genutzten Suchindex aktualisiert.

    Einziger Nachteil: wenn Postings gelöscht werden, aber schon indiziert sind, dann ist das ganze nicht vollständig konsistent. Damit könnten wir ja aber vielleicht leben.

    Soweit ich den Aufbau der Suchindex-Tabellen kenne, kann man aber keine Differenz der Tabellen bilden, man müßte diese komplett replizieren. Das könnte relativ lange dauern, muß ich mal messen.

    Dafür wäre dann das von Dir angesprochene Problem mit dem Löschen nicht problematisch, da eine Löschung auf die Tabelle RW wirkt, die Suche läuft auf Tabelle R, und in der Nacht wird RW auf R kopiert. Leichen kann's dann keine geben.



  • Sgt. Nukem schrieb:

    Das hatte ich in der letzten "Suche!"-Diskussion (vor paar Monaten?) schon vorgeschlagen... 2 Tabellen oder 2 ganze Datenbanken (letztere z.B. auf einem alten Rümpel-400Mhz-System), ist aber irgendwie im Sande verebbt alles...

    Dein Vorschlag war ein anderer PC - aber wie bekommt man den Rümpel-PC ins Netz? Die Suchindex-Tabelle ist mehrere MB groß.



  • Die Abfragen sind sehr ungeschickt implementiert. Statt eine große SQL-Abfrage zu machen, die es der DB ermöglichen würde geschickt einzuschränken werden viele kleine SQL-Abfragen mit umfangreichen Zwischenergebnissen abgeschickt.

    Auf phpbb gibt's ne neurere Version der Suche, allerdings noch nicht released. Dort ist das behoben.



  • Also Jester und ich sind gerade dabei, das mit der Suche zu fixen. Wenn jemmand noch mitmachen möchte oder Vorschläge machen möchte kann er das gerne tun. (z.B per Email an mich).



  • Mal ein Vorschlag von jemanden, der keine Ahnung von sowas hat:

    Mann könnte doch das alte Forensystem auf eine Subdomian verlegen (was weis ich zb. oldstuff.c-plusplus.net) und neue Beiträge deaktivieren. Dann installiert man ein neues Forensystem (es muss doch eins geben, was anständig läuft, wenn vlt. auch kommerziell) und setzt sich dann mit ein paar freiwilligen u. sachkundigen Leuten wie flammenvogel zusammen, um die Daten der alten DB mit einem script in die neue einzuspielen.

    Nebenbei, DelphiPraxis hat ein ebenfalls sehr gut besuchtes Forum mit vielen aktiven Leuten. Die Anzahl der Beiträge dürfte etwa mit denen dieses Forums gleich kommen. Allerdings gabs dort noch nie Probleme mit der Suche und die Seite is stehts und ständig verfügbar und immer recht schnell!

    MfG



  • kenshin++ schrieb:

    (es muss doch eins geben, was anständig läuft, wenn vlt. auch kommerziell)

    Es muss nicht.

    MfG SideWinder


Anmelden zum Antworten