Michael Schröpl: Suche nach Forums-Archiv 2002 fehlt

Beitrag lesen

Hi Frank,

In der Suche kann man ja auch innerhalb der Archive suchen lassen.
Die Option für dieses Jahr (2002) fehlt.

ich bin zwar im Detail wahrscheinlich nicht auf dem aktuellen Stand des
Servers, aber ein paar Sachen glaube ich dazu doch erzählen zu können.

Die Suchmaschine des Self-Portals sucht nicht direkt in den Archiv-
Einträgen, genauso wenig wie sie direkt in SELFHTML 8.0 sucht.
Statt dessen sucht sie in für ihre eigenen Zwecke speziell erzeugten
Indexdateien (deren Größe im Such-Formular ja auch angezeigt wird).
Diese müssen also erst mal irgendwie hergestellt werden, bevor man in
ihnen suchen kann; anschließend ist noch ein Eintrag in einer Parameter-
datei fällig, und dann hat das Such-Skript eine zusätzliche Datenquelle.

Bei SELFHTML 8.0 war das relativ einfach. Zu SELFHTML 7.0 existierte
ein Indexer-Programm, welches die entsprechende Indexdatei erstellte
(und dabei jedes Dokument von SELFHTML 8.0 entsprechend zu einem Thread
des Archivs behandelte, insbesondere jeden mit <h1> markierten Absatz
entsprechend eines Postings - die Zieladressen der Suchmaschine sind
ja nicht Dokumente, sondern Link-Targets!). Dieses Programm wurde
gemäß der Formatänderungen der SELFHTML-8.0-Dokumente angepaßt und ein-
mal laufen gelassen, und schon war SELFHTML 8.0 durchsuchbar.

Für das Archiv müßte ebenfalls ein Mechanismus her, der solche Index-
Einträge erstellen würde.
Allerdings befindet sich das Archiv in ständigem Fluß - jede Sekunde
kann durch den automatischen Archivierungsmechanismus der Forum-Software
ein neuer Thread (oder gar mehrere) dorthin übernommen werden.
Man müßte also entweder periodisch einen Indexer über das Archiv (oder
einen entsprechenden Teil desselben) laufen und die entsprechende
Indexdatei immer wieder neu bilden lassen, oder - eleganter - der Forum-
Software beibringen, als Seiteneffekt des Archivierens auch gleich die
entsprechenden Indexeinträge zu erzeugen und der Indexdatei hinzuzufügen.
Bei der bis zum Jahre 2000 eingesetzten Forum-Software war letzteres
die verwendete Realisierungsmethode (das Archiv wurde von Stefan Münz
an ein bestehendes Matt-Wright-Forum-Skript "dran programmiert", und
die Suche ebenfalls).

Dies ist aber nicht beliebig einfach. Denn die Indexdateien sind - was
das Forum-Archiv angeht - ganz bewußt in umgekehrter historischer Reihen-
folge sortiert, damit im Falle des vorzeitigen Erreichens des Treffer-
Limits jeweils die neuesten und nicht die ältesten Treffer angezeigt
werden. Diese Sortierung wurde für die alten Jahrgänge manuell (UNIX-sort)
erzeugt - für inkrementell einfließende neue Daten wäre noch ein entspre-
chender Mechanismus zu erfinden, falls dieses Feature weiter unterstützt
werden sollte.
Seit knapp einem Jahr gibt es meines Wissens keine automatische Forums-
Indexierung mehr. Der (abgeschlossene) Jahrgang 2001 ist nur bis zum
28. November indexiert:
http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=29.11.2001&feld=alle&index_4=on&hits=1
http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=30.11.2001&feld=alle&index_4=on&hits=1
Neuere Indexdaten sind wohl dem Festplatten-Crash zum Opfer gefallen; die
letzte vorhandene Woche des 2001er-Archiv ist allerdings nicht geindext.
Außerdem sind die Einträge seit August ans Ende der Indexdatei gehängt
worden:
http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck='+'&feld=alle&index_4=on&hits=20.
Beides ist vermutlich das Ergebnis eines in unregelmäßigen Abständen
manuell gestarteten Indexer-Programms. Dies könnte man für den kompletten
Jahrgang 2001 noch mal wiederholen, um auch die erste Dezemberwoche des
Archivs noch durchsuchbar zu machen - und mit ihm könnte man auch weiterhin
ab und zu mal einen weiteren Teil des angelaufenen Archivs indexen.
Ganz auf dem aktuellen Stand wird die Suche in diese Modus natürlich nie
sein; die 8 Tage, nach denen Dir das Fehlen der 2002er-Indexdatei aufge-
fallen ist, könnten durchaus ein realistischer Abstand zwischen zwei
Indexerläufen sein.
Es sei denn, jemand realisiert ein Betriebskonzept, welches es ermöglicht,
diesen Indexerlauf zuverlässig automatisch in betriebsarmen Zeiten (nachts)
durchzuführen und nach erfolgreicher Verarbeitung die zuvor verwendete
Indexdatei auszutauschen. Ob dies ohne explizite Synchronisation gegenüber
der Forum-Software (welche ggf. mitten während des Indexerlaufes den
Inhalt des Archivs ändert, falls sie nicht abgeschaltet wurde) gewagt
werden darf, ist natürlich eine andere Frage ...

Der Ansatz einer inkrementellen Indexierung wäre insofern der mächtigere,
als er sogar erlauben würde, bereits beim Eintragen eines Postings dessen
Inhalt zu indexen - an welcher Stelle der Forums-Software eine Änderung
gemacht werden muß, ist ja vielleicht nicht kriegsentscheidend.
In diesem Falle könnte nämlich sogar der aktuelle Forum-Inhalt durchsucht
werden - was vielleicht wenigstens teilweise verhindern könnte, daß die-
selbe Frage in kurzer Zeit mehrfach gestellt wird ... ;-)
In ferner Zukunft wäre vielleicht denkbar, ein eingetipptes Posting erst
mal mit einer Stoppwortliste von sprachlichem Ballast zu befreien, mit
den übrig bleibenden Worten eine Suche im aktuellen Forum durchzuführen
und neben der Preview-Version des Postings (vor dem endgültigen Eintragen)
gleich eine Liste von Links mit themenverwandten Seiten des Self-Universums
anzubieten - moderne Browser versuchen ja auch, zu erraten, was der DAU
an der Tastatur eigentlich meinte ... <eg>

Zu bedenken ist aber insbesondere, daß die derzeit eingesetzte Form der
Self-Suche nach meiner Einschätzung keine lange Zukunft hat.
Es wird seit einiger Zeit an einer neuen Realisierungsform der Suche
gearbeitet, die auf einer grundsätzlich anderen Form der Datenspeicherung
basieren soll (mySQL-Datenbank) und demzufolge für Stichwortsuchvorgänge
signifikant schneller sein wird (logarithmischer Aufwand, verglichen mit
dem "full table scan" der ektuellen Lösung). Dafür muß für die vom bishe-
rigen Skript relativ leicht zu realisierende Phrasensuche eine separate
Nachverarbeitung realisiert werden - und ob die zusätzlichen existierenden
Optionen wie die Verwendung regulärer Ausdrücke usw. sich so elegant in
SQL umsetzen lassen (oder ob diese Suchmaschine erst mal weniger Bedienungs-
komfort bekommen wird), wird auch erst herauszufinden sein.
Auf jeden Fall ist das ein Haufen Arbeit für die dort aktiven Entwickler.

Da diese Realisierung allerdings offenbar noch etwas davon entfernt ist,
einsatzbereit zu sein, bin ich nicht sicher, ob für sie bereits entspre-
chende Betriebskonzepte und Datenformate endgültig definiert sind.
Dies jedoch wäre eine Voraussetzung dafür, daß die Generierung von
"Indexeinträgen" oder was auch immer durch die Forums-Software in einer
zu der entsprechenden Schnittstelle kompatiblen Form erledigt werden kann
(vielleicht schreibt ja am Ende die Forum-Software aus Performance-Gründen
den Indexeintrag gleich selbst direkt in die mySQL-Datenbank, wer weiß?).

Unter diesen Randbedingungen ist es fraglich, ob man momentan noch eine
Lösung in die Forum-Software einbauen sollte, welche das 'alte' Format
der Indexdateien unterstützt (und sich dabei auch noch mit dem Sortie-
rungsproblem herumschlagen will, was unter mySQL keines mehr sein wird,
weil es in SQL mit 'ORDER BY' für die Treffer erschlagen wird).
Das Hauptproblem scheint mir aber zu sein, die entsprechende Erweiterung
in die Forum-Software einzubauen (nach der Spezifikation der entsprechenden
Schnittstelle). Denn die zeitlichen Ressourcen der Forum-Programmierer sind
nun mal endlich.

Die Suche im Archiv des Forums ist nach meiner Einschätzung eine ziemlich
große und relativ komplexe Baustelle, weil das Ziel der nächsten Stufe ein
ziemlich hohes ist (auch ohne Durchsuchbarkeit des Forums selbst).
Insofern solltest Du nicht _zu_ optimistisch sein mit Deinen Erwartungen.
(Ich lasse mich natürlich gerne positiv überraschen ...)

Vielleicht schreiben die Entwickler der nächsten Suchfunktion auch noch
ein paar Zeilen hierzu?

Viele Grüße
      Michael