Suchfunktion des Boards



  • @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



  • Ich bin noch dabei die Suche zu fixen. Ich bin zuversichtlich das auch hinzukriegen. Dann haben wir wieder eine funktionierende ins Board integrierte Lösung. *Hoffentlich*



  • kenshin++ schrieb:

    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!

    Genialerweise kritisierst du phpBB als schlecht laufende Forensoftware, bringst aber als Beispiel ein anderes Forum, welches auch phpBB verwendet ...



  • Tach...

    Rexy schrieb:

    Genialerweise kritisierst du phpBB als schlecht laufende Forensoftware, bringst aber als Beispiel ein anderes Forum, welches auch phpBB verwendet ...

    Da verstehst du mich eindeutig falsch! Ich kritisiere gar nicht, ich hab nur ein Beispiel angeführt. In den restlichen Beiträgen des Threads wurde das Board als schlecht designed usw. kritisiert und das aus diesen Gründen sich eine anständige, verlässliche Suche schwer zu machen lässt und u.U. auch mal die ganze Seite mit runter zieht. Und da hab ich eben nur mal gezeigt, wos bedeutend besser läuft. Da wären z.B. auch noch developia.de oder das ehemalige programmierer-board.de, die auch auf phpBB basieren/basierten und wo es mit der Suche keinerlei Probleme gibt!

    Allgemein wird auf vielen Seiten phpBB erfolgreich eingesetzt, deswegen versteh ich nich, warums hier grad so hängt. Ich mein das MSDN oder die Borland Community wird doch wohl auch ein Forum mit vielen Benutzern haben, oder machen die alles über Newsgroups und Mailing - Listen. Ich mein es können doch nicht alle klagen, dass es kein vernünftiges Board gibt (ob freeware oder kommerziell) und es findet sich einfach keine Firma / Hobbyteam, die das ändernt. Glaub ich einfach nich!

    MfG


Anmelden zum Antworten