Dieser Befehl startet den Indexierungsprozess sofort, indem er den Index auf den neuesten Stand bringt, so dass er den aktuellen Inhalt der Textspalten widerspiegelt, denen der Index zugeordnet ist.
Während der Ausführung der Aktualisierung ist das Suchen mit dem Vergleichselement CONTAINS möglich. Bei einem Index mit einer aktivierten, im Cache gespeicherten Ergebnistabelle ist das Suchen über eine gespeicherte Prozedur während der Aktualisierung ebenfalls möglich. Allerdings können die Spalten in der im Cache gespeicherten Tabelle neue Werte aufweisen, obwohl der geänderte Text im Volltextindex noch nicht festgeschrieben (COMMIT) ist.
Bei Verwendung der Option RECREATE INDEX ON UPDATE im Befehl CREATE INDEX wird der Inhalt des Indexes vor der Neuerstellung gelöscht. Bis zum Abschluss der Aktualisierung werden leere Ergebnisse zurückgegeben.
Berechtigung
Gemäß den DB2-Katalogsichten muss die Benutzer-ID in diesem Befehl das Zugriffsrecht CONTROL für die Tabelle besitzen, für die der Volltextindex erstellt wurde.
Befehlssyntax
>>-UPDATE-INDEX--+-----------------+--indexname--FOR-TEXT-------> '-indexschema-"."-' >--+------------+--+---------------------+----------------------> '-REORGANIZE-' '-COMMITCOUNT--anzahl-' >--+----------------------+--+-----------------------+--------->< '-USING-UPDATE-MINIMUM-' '-|verbindungsoptionen|-' verbindungsoptionen: |--+-------------------------------------------------------------------+--| '-CONNECT-TO--datenbankname--+------------------------------------+-' '-USER--benutzer-id--USING--kennwort-'
Befehlsparameter
Verwenden Sie die Option REORGANIZE AUTOMATIC des Befehls CREATE INDEX, wenn Sie eine manuelle Überprüfung und Reorganisation des Indexes vermeiden wollen.
Anmerkung |
---|
Der Reorganisationsprozess findet nach einer regulären Aktualisierung statt. |
Für verteilte Datenbanken wird UPDATE MINIMUM auf jedem Knoten geprüft.
Weitere Informationen finden Sie in CREATE INDEX.
Jedoch gibt es bei einleitenden Aktualisierungen, wie der ersten Aktualisierung nach Ausführung des Befehls CREATE INDEX oder einer Aktualisierung durch die Option RECREATE INDEX ON UPDATE nur eine logische Transaktion, bei der der Wert für COMMITCOUNT ignoriert wird. Diese Einstellung kann mit Hilfe des Befehls ALTER INDEX geändert werden.
Benutzung
Dieser Befehl wird synchron ausgeführt. Er startet die Aktualisierungsverarbeitung auf allen erforderlichen logischen/physischen DB2-Knoten in einer verteilten DB2-Umgebung. Die Verarbeitungsdauer hängt von der Anzahl zu indexierender Dateien sowie von der Anzahl bereits indexierter Dokumente ab. Der Status der Aktualisierung kann anhand einer Sicht, die für jeden Index erstellt wird, abgefragt werden. Der Name dieser Sicht ist der Spalte EVENTVIEWNAME der Sicht DB2EXT.TEXTINDEXES zu entnehmen. Weitere Informationen finden Sie in Anhang C, Net Search Extender-Informationskataloge.
Es gibt zwei verschiedene Optionen, um die Anzahl der festgeschriebenen Dokumente anzuzeigen, die verarbeitet wurden. Verwenden Sie die Sicht DB2EXT.TEXTINDEXES (NUMBERDOCS), um festzustellen, ob eine Aktualisierung noch aktiv ist und wie viele Dokumente im Index festgeschrieben wurden. Verwenden Sie die Ereignissicht, die dem Index zugeordnet ist, für Informationen zum Starten, Festschreiben von Änderungen und Beenden der Aktualisierungsverarbeitung.
Die Anzahl der nicht festgeschriebenen Dokumente, die zur Verarbeitung anstehen, können Sie mit dem Befehl CONTROL LIST ALL LOCKS anzeigen.
Anmerkung |
---|
In den Sichten werden nur Informationen des verbundenen Knotens angezeigt. Bei Teilaktualisierungen in einer Basistabelle mit physischen Knoten muss die Uhrzeit auf allen Knoten synchronisiert werden. Andernfalls gehen Aktualisierungen möglicherweise verloren oder werden gar nicht ausgeführt. |
Sie können den Befehl nicht absetzen, wenn einer der folgenden Befehle momentan für den Index ausgeführt wird:
Nach der Aktualisierung eines Indexes mit einer inaktivierten im Cache gespeicherten persistenten Ergebnistabelle wird der persistente Cache gelöscht, so dass der nächste Befehl ACTIVATE CACHE ihn auf der Grundlage des Datenbankinhalts erneut erstellt.
Wenn der Benutzer diesen Befehl unterbricht, werden alle an der Aktualisierungsfunktion beteiligten Prozesse gestoppt. Wenn ein COMMITCOUNT-Wert in einer Teilaktualisierung verwendet wurde, können einige Aktualisierungen im Index sichtbar sein, während andere eventuell einen neuen Befehl UPDATE benötigen.
Zum Stoppen der automatischen Aktualisierung eines Indexes suchen Sie nach dem Prozess unter der Benutzer-ID des DB2-Exemplareigners, der den Befehl zur Indexaktualisierung in der Partition ausführt, die für Aktualisierungsservices verwendet wird. Stoppen Sie diesen Prozess und die Aktualisierungsverarbeitung in allen Partitionen.
Anmerkung |
---|
Da der Befehl in zwei getrennten Phasen, bei der Indexerstellung in allen Partitionen und bei den einleitenden Aktualisierungen des Indexes ausgeführt wird, müssen Sie einen db2text drop index-Befehl absetzen, um sicherzustellen, dass der Index nicht teilweise verfügbar ist. Wenn dieser Befehl nicht abgesetzt wird, führt die nächste Aktualisierung, die durch einen UPDATE-Befehl oder durch die Option UPDATE FREQUENCY ausgelöst werden kann, eine vollständige Neuindexierung durch, um einen konsistenten Status sicherzustellen. |
Bei Verwendung der Replikationserfassungstabellen werden in der Datenbank die folgenden Änderungen durchgeführt.