Cette commande démarre immédiatement le processus d'indexation en mettant à jour l'index pour qu'il reflète le contenu courant des colonnes de texte avec lesquelles il est associé.
Pendant l'exécution de la mise à jour, la recherche avec le prédicat CONTAINS est possible. Pour un index avec une table de résultats mise en cache et activée, la recherche par procédure mémorisée est également possible pendant la mise à jour. Cependant, les colonnes de la table mise en cache peuvent afficher de nouvelles valeurs, même si le texte modifié n'est pas encore validé dans l'index en texte intégral.
L'utilisation de l'option RECREATE INDEX ON UPDATE dans la commande CREATE INDEX permet de vider l'index avant de le recréer. Jusqu'à la fin de la mise à jour, des résultats vides sont renvoyés.
Autorisation
Selon les vues de catalogue DB2, l'ID utilisateur de cette commande doit disposer des droits CONTROL sur la table pour laquelle l'index en texte intégral a été créé.
Syntaxe de commande
>>-UPDATE-INDEX--+-----------------+--nom-index--FOR-TEXT-------> '-schéma-index"."-' >--+------------+--+---------------------+----------------------> '-REORGANIZE-' '-COMMITCOUNT--nombre-' >--+----------------------+--+---------------------+----------->< '-USING-UPDATE-MINIMUM-' '-|options-connexion|-' options-connexion |--+-----------------------------------------------------------------------------------+--| '-CONNECT-TO--nom-de-base-de-données--+-------------------------------------------+-' '-USER--id-utilisateur--USING--mot-de-passe-'
Paramètres de commande
L'option REORGANIZE AUTOMATIC de la commande CREATE INDEX permet d'éviter la vérification et la réorganisation manuelles de l'index.
Remarque |
---|
Le processus de réorganisation a lieu après une mise à jour standard. |
Pour des bases de données réparties, l'option UPDATE MINIMUM est vérifiée sur tous les noeuds.
Pour plus d'informations, reportez-vous à la section CREATE INDEX.
Cependant, pour les mises à jour initiales, telles que la première mise à jour après la commande CREATE INDEX ou toute mise à jour avec l'option RECREATE INDEX ON UPDATE, une seule transaction logique ignore COMMITCOUNT. Ceci peut être changé grâce à la commande ALTER INDEX.
Usage
Cette commande s'exécute de manière synchrone. Elle démarre le traitement de la mise à jour sur tous les noeuds logiques/physiques DB2 requis dans un environnement DB2 réparti. La durée dépend du nombre de fichiers à indexer et du nombre de documents déjà indexés. L'état de la mise à jour peut être affiché dans une vue créée pour chaque index. Le nom de cette vue peut être extrait de DB2EXT.TEXTINDEXES dans la colonne EVENTVIEWNAME. Pour plus d'informations, reportez-vous à l'Annexe C, Catalogues d'informations DB2 Extension Net Search.
Deux options sont possibles pour afficher le nombre de documents validés, ayant été traités. Pour déterminer si une mise à jour est toujours en cours d'exécution et combien de documents ont été validés dans l'index, utilisez la vue DB2EXT.TEXTINDEXES (NUMBERDOCS). Pour obtenir des informations sur le démarrage, la validation des modifications et la fin du traitement de mise à jour, utilisez la vue des événements associée à l'index.
Pour afficher le nombre de documents non validés, ayant été traités, utilisez la commande CONTROL LIST ALL LOCKS FOR INDEX.
Remarque |
---|
Les vues affichent uniquement des informations relatives au noeud connecté. Pour les mises à jour incrémentielles sur une table de base avec des noeuds physiques, l'heure doit être synchronisée sur chaque noeud. Si les heures ne sont pas synchronisées, les mises à jour peuvent être perdues ou ne pas prendre effet. |
Il n'est pas possible d'émettre la commande si l'une des commandes suivantes est en cours d'exécution sur l'index :
Après la mise à jour d'un index avec une table de résultats mise en cache persistante et désactivée, la mémoire cache persistante est supprimée de telle sorte que la commande suivante ACTIVATE CACHE la recrée en fonction du contenu de la base de données.
Si l'utilisateur interrompt cette commande, tous les processus impliqués dans la fonction de mise à jour s'arrêtent. Si un nombre de validations a été utilisé dans une mise à jour incrémentielle, certaines mises à jour peuvent être visibles dans l'index, alors que d'autres peuvent nécessiter une nouvelle commande de mise à jour.
Pour mettre fin à la mise à jour automatique d'un index, recherchez le processus du propriétaire d'instance DB2 exécutant la commande de mise à jour de l'index sur la partition utilisée pour les services de mise à jour. Arrêtez ce processus et le traitement de la mise à jour sur toutes les partitions.
Remarque |
---|
Comme la commande fonctionne en deux phases séparées pour la création de l'index sur toutes les partitions et les mises à jour initiales de l'index, émettez une commande db2text drop index pour s'assurer que l'index n'est pas en partie disponible. Si cette commande n'est pas émise, la mise à jour suivante qui peut être déclenchée par une commande de mise à jour ou l'option UPDATE FREQUENCY, effectuera une complète ré-indexation pour garantir un état cohérent. |
Lorsque vous utilisez des tables de capture de réplication, les modifications suivantes sont apportées à la base de données.