Ich werde es auszuprobieren.
Bedenke aber, daß "Zeile" das gesamte Sucharchiv bedeutet! Denn wir haben einen Volltextindex ...
Das ist interessant und wohl die Antwort auf die zweite Frage, die ich stellen wollte: Du schreibst, daß die Bearbeitung einer Suchanfrage durch das Skript 15 sec dauert. Als Benutzer muß ich aber 1 min oder mehr auf die Ergebnisse warten. Woher rührt die Differenz? Ich verstehe Dich jetzt so, daß der gesamte Index (40 MB) vor Ausführung des Skripts in den Arbeitsspeicher geladen wird. Ist das richtig? Und wenn ja, ist das wirklich nötig? Was spricht dagegen, daß das Skript die Datei öffnet und zeilenweise abarbeitet (wie es ja z.B. auch so einfache Dienstprogramme wie "grep" tun)?
Ich gebe zu, daß diese Vorgehensweise wahrscheinlich keinen Geschwindigkeitsgewinn bringen würde, denn so oder so muß sich das Skript
bis zum Ende durcharbeiten, aber mich interessiert das technische Konzept dahinter.
In diesem Zusammenhang noch etwas zu der "Datenbank"-Lösung, die diskutiert wurde. Ich bin mit der Terminologie nicht ganz vertraut. Ich selbst habe bislang eine Lösung, die darauf beruht, nicht im Volltext selbst, sondern in vorgefertigten Zuordnungslisten mit den im Text vorkommenden Wörtern zu suchen, als "Indexsuche" bezeichnet. Eine indexbasierende Volltextsuchmaschine in diesem Sinne (also wohl eine "Datenbank"-Lösung im hier besprochenen Sinne) habe ich vor kurzem programmiert.
Ich habe sie im Zuge der Entwicklung probeweise auf einige verschieden strukturierte Datensätze angewandt, darunter auch auf das Selfhtml-Forumsarchiv.
Die Lösung ist sehr befriedigend: typische Suchanfragen werden in der Regel in ein, zwei Sekunden beantwortet. Phrasensuchen dauern dafür länger.
Das vielleicht interessanteste einer solchen Datenbanklösung ist die Genügsamkeit im Dateizugriff (was offenbar, wie Du es sagst, der Flaschenhals der bisherigen Lösung ist): denn es müssen immer nur ein paar KB an Daten in den Arbeitsspeicher geladen und abgeglichen werden.
Wie ist es übrigens mit der von Dir erwähnten Software Glimpse? Handelt es sich da um ein Datenbankkonzept und wie schnell ist die Suche in den Archivdateien? Was spricht dagegen, diese Software zum Einsatz kommen zu lassen?
Gruß,
Oliver