Christoph Zurnieden: Offline Suchmaschine für HTML-Paket

Beitrag lesen

Hi,

Und wiedermal hab ich mich nicht vollkommen korrekt ausgedrückt, es ist kein reines Tutorial, sondern eher eine Funktionsreferenz.

Das macht keinen Unterschied.

Enthalten wird sie im Endeffekt so an die +- 50 Seiten, aber alle relativ klein.

Was heißt "relativ klein" genau? Ich bräuchte da schon etwas genauere Zahlen keine subjektive Einschätzung für ein Beurteilung und somit für die Empfehlung einer Vorgehensweise.

oder stört Dich die Lizenz?

Das war das zweite worum ich fragen wollte, wie stehts mit der Lizenz auf das Skript in SelfHTML?

Meines Wissens sind nur nichtkommerziele Anwendungen erlaubt

Bzw. wenn man die Methode etwas simpler gestalten würde (hab jetzt die ganzen String-Tabellen der SelfHTML Suche angesehen, und die arbeiten wohl schon etwas forgeschrittener),

Nein, das ist ein simpler Inverted Index.

also so wie du oben erwähnt hast, sollte es nicht zu schwer zu realisieren sein denke ich.

Ja, aber der Teufel steckt mal wieder in den Details:
Du kannst nur das schnell finden, was Du im Index wörtlich drin stehen hast, keine Teilzeichenketten oder gar reguläre Ausdrücke, dazu müßtest Du dann wieder jeden Eintrag im Index einzeln anfassen (geht zwar schneller als "echte" Volltextsuche, aber nicht sehr viel). Du kannst mit einem Index Phrasen (Wortfolgen mit vorgegebener Reihenfolge) überhaupt nicht finden, falls Du sie nicht vorher indiziert hast (das ist nicht ganz korrekt. Man kann neben "kommt in Datei XYZ vor" natürlich auch die genaue Wortposition in Datei XYZ mit in den Index einbauen und dann daraus eine Phrase basteln, man muß also nicht wirklich jede Kombination erfassen. Wäre dann aber ein ganz schöner Aufwand.)

Aber normalerweise reicht für Deinen Zweck eine normale Indizierung mit tolower(), Stopwortliste (hatte ich oben vergessen. Da stehen solche Worte wie "und, oder, ist, sein, haben ..." drin) und primitivem Stemming (nur Suffix-Flexionen und auch nur die regelmäßigen). Dazu dann noch eine Volltextsuche im Index (also lineare Suche mit RegExen) falls die normale nichts ergeben hat. Würde ich aber trennen mit Hinweis: "Die normale Suche hat nichts gefunden, möchten sie die erweiterte Suche nutzen (kann einige Sekunden länger dauern)?" o.ä. Vielleicht sogar ein richtige Volltextsuche über die Dateien. Das kann dann bei 50 Dateien mittlerer Größe und schwächerem Rechner jedoch durchaus ein bis zwei Minuten dauern.

so short

Christoph Zurnieden