Schritt 16: Volltextsuche

Top  Previous  Next

Neben der normalen Suche mit Suchbedingung und der direkten Suche über Index bietet TurboDB Studio als dritte Suchoption die Stichwortsuche an. Im Grunde ist das die einfachste Art, weil lediglich ein oder mehrere Begriffe einzugeben sind. Gefunden werden alle Datensätze, die irgendwo diese Begriffe enthalten.

Die Mächtigkeit einer Volltextsuche zeigt sich in erster Linie bei Tabellen, die überdurchschnittlich viel Text in Form alphanumerischer Felder und Memos beinhalten. Als Beispiel soll hier das Beispielprojekt Vögel dienen, das im Auslieferungsumfang enthalten ist. Der normale Weg, um eine Stichwortsuche auf allen Datensätzen durchführen zu können, wäre der folgende: Man legt eine eigene Tabellenspalte mit den Schlagworten an, auf denen man dann eine Suche starten kann. Nachteil dieser Methode ist jedoch die Redundanz (also das überflüssige Vorkommen) vieler Wörter und der dadurch erhöhte Speicherplatzbedarf. Sinnvoller wäre es eine eigene Tabelle von Stichworten anzulegen, und in der Tabelle mit den Vögeln lediglich ein Relationsfeld mit Verweisen auf diese Worte vorzusehen. Dies erfordert natürlich einen gesteigerten Arbeitsaufwand bei der Eingabe der Daten des jeweiligen Vogels.

Der Volltext-Index bietet Ihnen nun diese bessere Alternative und nimmt Ihnen den zusätzlich entstehenden Arbeitsaufwand ab. Beachten Sie, dass das Anlegen eines solchen Indexes die Voraussetzung für die Benutzung der Volltextsuche ist. Seine Erstellung gestaltet sich aber wie gewohnt einfach, da Sie hier wieder von einem benutzerfreundlichen Assistenten unterstützt werden.

Um nun eine Volltextsuche in der Vögel-Datenbank durchführen zu können, müssen wir zunächst einen Volltext-Index auf der Tabelle VÖGEL generieren. Zu diesem Zweck schließen Sie zunächst alle Fenster der Tabelle und öffnen dann das Datenmodell mit einem Doppelklick auf das Symbol im Projektnavigator oder mit dem Schalter Ausführen. Im Datenmodell sehen Sie für jede Tabelle ein kleines Fenster mit der Tabellenstruktur. Selektieren Sie hier die Tabelle VÖGEL und klicken Sie mit der rechten Maustaste auf das Fenster. Wählen Sie im Kontextmenü Volltext-Index erstellen. Alternativ können Sie auch im Menü Tabelle/Volltextindex erzeugen... anklicken.

Nun meldet sich der Volltext-Assistent und fordert Sie zur Eingabe eines Namens für die zu erstellende Stichworttabelle auf. Ein treffender Name wäre zum Beispiel Stichworttabelle. Wie schon oben erwähnt, wird in die Ausgangstabelle - also VÖGEL - ein Relationsfeld eingefügt. Für dieses Feld schlägt der Assistent den Titel Stichwörter vor. Sollte Ihnen dieser Name nicht zusagen, können Sie ihn gleich hier ändern, ansonsten können wir mit Weiter zu neuen Taten schreiten. Beachten Sie bitte, dass der Name des Feldes für die Stichwörter und der Name der Stichworttabelle nicht gleich sein dürfen.

Die nächste Seite enthält zwei Auswahlboxen. Die linke enthält alle alphanumerischen Felder und Memos - die potenziellen Bestandteile des Volltext-Indexes. Mit den Knöpfen Tut_16_IconAddToVTI / Tut_16_IconAddAllToVTI und Tut_16_IconRemoveFromVTI / Tut_16_IconRemoveAllFromVTI können Sie, wie von anderen Dialogen schon bekannt, nach Belieben diejenigen Felder in die rechte Liste eintragen  (bzw. entfernen), deren Inhalte anschließend die Grundlage des Indexes bilden. Wir wollen hier einmal alle Spalten aufnehmen.

Worte, die für die Volltextsuche nicht von Bedeutung sind, führen zu einer unnötigen Aufblähung der Stichworttabelle und sind beim Suchvorgang nur hinderlich. Solche Worte kommen meist in großer Zahl vor. Aus diesem Grund sollten sie durch die Angabe einer Obergrenze herausgefiltert werden. Diesem Filterprozess widmet sich die folgende Seite des Assistenten. Tritt ein Wort zum Beispiel mehr als eintausend mal auf, so ist die Wahrscheinlichkeit, dass es ein spezielles Charakteristikum eines Datensatzes darstellt, ziemlich gering. Deshalb wird es dann aus der Stichworttabelle entfernt und alle Verweise darauf werden gelöscht. Natürlich hängt die Obergrenze von der Größe der Tabelle ab. Enthält eine Tabelle 1 Million Datensätze, so kann der Wert 1000 auch zu gering ausfallen und auch charakteristische Schlagworte würden der Stichworttabelle vorenthalten. Füllwörter wie und, oder, weil, etc. besitzen äußerst selten einen Informationsgehalt. Sie sollten von vornherein von einer Aufnahme in die Stichworttabelle ausgeschlossen werden. Zu diesem Zweck sollte man eine Datei anlegen, die solche Worte - jeweils durch einen Zeilenumbruch getrennt - enthält. So eine Datei kann mit jedem Texteditor oder Textverarbeitungsprogramm erstellt werden. Dabei muss nur darauf geachtet werden, dass sie im *.txt-Format abgespeichert wird. Durch einen Druck auf den Schalter Tut_BrowseButton erscheint ein Datei-Auswahldialog, mit dem Sie die gewünschte Textdatei spezifizieren können.

Jetzt wird es ernst: wenn Sie auf der letzten Seite des Pfadfinders mit Ausführen bestätigen, so können Sie in der Anzeige den Fortschritt der Volltextindex-Erstellung beobachten. Je nach Größe der Tabelle kann dies auch mehrere Minuten in Anspruch nehmen, bei unserer VÖGEL-Tabelle ist dies aber nicht der Fall.

Nun können wir die Vorteile der Volltextsuche nutzen. Dazu wechselt man zuerst in ein Datenfenster der Tabelle - also entweder ein Formular oder das Tabellenfenster - und wählt im Menü Suchen/Volltext... . Im erscheinenden Dialog muss man nun die erforderliche Stichworttabelle mit Hilfe der Auswahlbox bestimmen. Jetzt kann die Suche beginnen. Geben Sie einfach in die folgenden Eingabefelder bis zu drei Suchbegriffe ein oder nutzen Sie die erweiterten Möglichkeiten, indem Sie die Suchbedingung direkt eingeben. Die Verwendung der Operatoren entnehmen Sie bitte der Beschreibung im Abschnitt Suchbedingungen.