Erstellen eines Textindexes

Zusammenfassung

Wann
Einmal für jede Spalte, die zu suchenden Text enthält.
Befehl
CREATE INDEX ... FOR TEXT ... (Siehe nachfolgende Beispiele)
Berechtigung
Zugriffsrecht CONTROL für die Tabelle

Sie können einen Textindex für unterstützte Datentypen erstellen, wenngleich für die folgenden Datentypen andere Voraussetzungen gelten:

Für die Erstellung eines Textindexes für eine Suche über eine gespeicherte Prozedur gelten ebenfalls andere Voraussetzungen.

Wenn Sie einen Textindex erstellen, werden dabei auch die folgenden Objekte erstellt:

Protokolltabelle
Dient der Aufzeichnung aller geänderten Zeilen in der Benutzertabelle. Beachten Sie, dass die Protokolltabelle nicht erstellt wird, wenn Sie die Option RECREATE INDEX ON UPDATE auswählen oder Replikationserfassungstabellen verwenden.
Ereignistabelle
Dient zum Sammeln von Informationen zu Problemen während der Aktualisierung der Textindizes.
Auslöser für die Benutzertabelle
Diese fügen der Protokolltabelle Informationen hinzu, wenn ein Dokument in der Spalte hinzugefügt, gelöscht oder geändert wird. Die Informationen sind zur Indexsynchronisation erforderlich, wenn die nächste Indexierung erfolgt.

Beachten Sie, dass die Auslöser nur erstellt werden, wenn eine Protokolltabelle erstellt wird und der Textindex für eine Basistabelle und nicht für eine Sicht oder eine Kurznamentabelle erzeugt wird.

Zur Optimierung der Leistung und der Nutzung von Plattenspeicherplatz können Sie mit Hilfe des Befehls CREATE INDEX einen anderen Tabellenbereich für die Tabellen angeben.

Anmerkung

Die Verwendung des Befehls DB2 LOAD zum Importieren Ihrer Dokumente kann Probleme verursachen, da Auslöser nicht aktiviert werden und eine inkrementelle Indexierung der geladenen Dokumente nicht möglich ist.

Aus diesem Grund ist die Verwendung des Befehls DB2 IMPORT vorzuziehen, da durch diesen Befehl die Auslöser aktiviert werden.

Im folgenden Beispiel wird ein Textindex für die Textspalte HTMLFILE der Tabelle htmltab erstellt.

db2text create index DB2EXT.HTMLIDX for text on DB2EXT.HTMLTAB 
           (HTMLFILE) format HTML

Für diese Tabelle ist ein Primärschlüssel erforderlich.

Die Standardwerte für die Indexerstellung werden der Sicht db2ext.dbdefaults entnommen.

Wenn bei der Indexierung Fehler auftreten, werden der Ereignistabelle so genannte Indexaktualisierungsereignisse hinzugefügt. Dies ist beispielsweise dann der Fall, wenn ein Dokument nicht gefunden wird, das sich in der Warteschlange für die Indexierung befindet. Weitere Informationen hierzu finden Sie im Abschnitt Ereignissicht.

Zur Rücknahme der Änderungen, die durch den Befehl CREATE INDEX vorgenommen wurden, verwenden Sie den Befehl DROP INDEX. Informationen dazu finden Sie in Löschen eines Textindexes.

Verwenden Sie zur Synchronisierung des Textindexes mit der Datenbank folgenden Befehl:

db2text update index DB2EXT.HTMLIDX for text

Beachten Sie, dass Dokumente nur nach erfolgter Synchronisation gefunden werden können.

Zusammenfassung der Suchmethoden

Abhängig von den bei der Indexerstellung ausgewählten Optionen sind verschiedene Suchmethoden möglich: