Ein Text-Dokument besteht
- einerseits aus dem eigentlichen Text, der vom Autor wie bei einer Schreibmaschine über die Tastatur eingegeben wird und am Bildschirm bzw. auf dem Drucker erscheint,
- und andererseits aus Steuerzeichen, anhand derer der Computer z.B. die Formatierung erkennt; dadurch, daß der Benutzer festlegt, in welcher Schriftart und Schriftgröße sein Text gedruckt werden soll, läßt er den Computer Steuerzeichen in sein Dokument einfügen. Diese Steuerzeichen legen weiterhin fest, ob der Text einfach oder doppelt unterstrichen, fett oder kursiv dargestellt werden soll, und auch, ob und an welcher Stelle Graphiken eingefügt werden sollen.
Im Allgemeinen sind Text- und Steuerzeichen bunt durcheinander gemischt. Eine jede Textverarbeitung hat dafür ihre eigene Methode, und daher kann eine jede auch nur diejenigen Dateien lesen, die ihrer internen Struktur entsprechen. Um die Identifikation zu erleichtern, hat es sich durchgesetzt, daß jedes Programm eigene Dateiendungen vergibt. So erwartet z.B. Word, daß eine .DOC-Datei der Word-Spezifikation entspricht, oder ein Internet-Browser, daß eine .HTM-Datei dem HTML (Hypertext Markup Language) - Standard folgt.
Einige Suchmaschinen ignorieren diese innere Dateistruktur.
Eine solche Methode bezeichnet man
- als Binärsuche und gelegentlich auch
- als GREP (Global Regular Expression Print) - Algorithmus, der ursprünglich auf UNIX-Systemen entwickelt wurde
Sie hat viele Vorteile, da sie
- auf beliebige Datei-Typen anwendbar,
- sehr einfach zu programmieren
- und auch sehr schnell ist.
Aber sie hat einen gravierenden Nachteil, der hier am Beispiel von Word-Dateien erläutert werden soll:
- Bei den älteren Word-Installationen wie z.B. Word 6 war meistens die Option »Extras« - »Optionen« - »Speichern« - »Schnellspeicherung zulassen« angekreuzt. Wenn nun Word seine Dateien speichert, löscht es den Text der veralteten Versionen nur teilweise und vermischt ihn mit der neuen aktuellen Version. Dies hat für den Benutzer den Nachteil, daß die Word-Dateien unnötig lang werden, hat aber den mittlerweile kaum noch spürbaren Vorteil, daß das Abspeichern um einige Sekundenbruchteile schneller erfolgt.
- Word erkennt anhand der eingestreuten Steuerzeichen, welcher Text veraltet und welcher aktuell ist. Aber eine Binärsuche interessiert sich nicht für die innere Struktur der untersuchten Word-Dateien und erfaßt somit alle Textzeichen; sie wird also nicht erkennen, daß die in den als gelöscht markierten Dateibereichen gefundenen Worte nicht mehr aktuell sind. Somit wird sie viele Worte »finden«, die im Grunde nur noch als »Leichen« in die Word-Datei eingebettet sind - ein Benutzer wird diese angeblich existenten »Worte« in der angegebenen Datei nicht mehr finden können.
Dies ist ein grundsätzliches Problem. Eine fehlerfreie Analyse von z.B. Word-Dateien kann nicht durch eine Binärsuche erfolgen.
Aus diesem Grund verzichtet FindWord auf eine auf den ersten Blick verlockend erscheinende Binärsuche und analysiert jede Textdatei anhand ihrer inneren Struktur. Diese Struktur muß bekannt oder über externe Programme zugänglich sein, so daß nicht beliebige Dateitypen verarbeitet werden können. Der Vorteil dieses aufwendigeren Verfahrens besteht darin, daß FindWord keine oder zumindest erheblich weniger Fehltreffer generiert als jede Binärsuche.