Ein Beispiel für eine schnelle Suchfunktion auf CD-ROM: Der wesentliche Teil der Indizierung wird bereits bei der Entwicklung gemacht - das darf relativ lange dauern; dafür wird auch die Relevanz des Begriffes festgestellt. Die Suche selbst
greift nur auf die fertigen Listen zu.
Hier kann immer nur ein Wort gesucht werden. Bei Mehr-Wort Kombinationen müsste man die Suche für jedes Wort wiederholen und die Schnittmenge bilden. Das macht aber nur bei wirklich
großen Datenbeständen Sinn.
Die Ergebnisse sind nach Relevanz geordnet: Wortvorkommen und Häufigkeit. Wörter mit ~ werden gestemmt (= Wortstamm gebildet und verschiedene Vorkommen auf diesen zurückgeführt)
So funktioniert es:
Das Prinzip ist, dass alle möglichen Suchbegriffe bereits vorsortiert sind. Das erledigt der Handler "AllesNeuIndizieren". Weil das nur gelegentlich während der Erstellung
geschieht, ist der ganze Pulk von Handlern, die ausgeführt werden nicht gerade auf Geschwindigkeit optimiert. Ist ja egal, wenn's mal 2-3 Minuten dauert. Weit wichtiger ist, dass die
eigentliche Suche schnell geht.
Alles wird im Feld "GesamtIndexText" abgelegt, zusätzlich gibt es noch das Feld "gestemmteWoerter", das alle Wörter enthält, von denen nur der Stamm angezeigt
wird.
Vorab: Das ist nicht gerade "modernes" Lingo, steht noch überall "set" drin. Aber es tut trotzdem so halbwegs..
Du brauchst: einen Haufen Textmembers, die irgendwo hintereinander in einer Castlib liegen. Es dürfen Lücken dazwischen sein.
Die Members müssen Namen haben, und zwar je genau ein Wort, ohne Leerzeichen.
Wenn das nicht geht, musst du mit den Nummern arbeiten (was ich nicht empfehle!) und das Movie entsprechend ändern.
Im Script "AllesNeuIndizieren" musst du zuerst folgendes angeben:
TexteCastLib: Die Nummer der CastLib
TexteCastStart: Nummer des ersten Textmembers
TexteCastEnde: Nummer des letzten Textmembers
Als erstes starte das Script "AllesNeuIndizieren" im Nachrichtenfenster
Es plagt sich redlich, wird aber irgendwann fertig.
Jetzt sind einige Felder verändert:
StandardWoerterNeu: Enthält eine Liste aller Wörter, nach Häufigkeit sortiert. Das sind nur Wörter, die im Feld "StandardWoerter" nicht angegeben waren. Wenn
du die überflüssigen Wörter dorthin kopierst, werden sie beim nächsten Durchgang ignoriert.
StemmingListeNeu:
Wie StandardwörterNeu: das sind nur Vorschläge, es gilt nur, was in "StemmingListe" steht,
du musst die gewünschten Paare erst dorthin kopieren.
Enthält eine Liste von Wortpaaren, nach dem Muster
Stamm endung1 endung2
Stamm ++ heißt, dass alle möglichen Endungen angefügt werden.
Wenn du neue Texte hast, solltest du beim ersten Mal den ganzen Packen rüberkopieren (anhängen) und noch mal durchsehen.
Wenn du das soweit hast, musst du nocheinmal "AllesNeuIndizieren" starten, damit die gemachten Änderungen
berücksichtigt werden.
Jetzt starte das Movie selbst und gib einmal einen Begriff ein. Sollte klappen.
Das gezippte Director 8.5 File, halbwegs kommentiert, aber nicht für völlige Laien geeignet.