IBM Books
(C) IBM Corp. 2000

DB2 Extension Net Search - Guide d'administration et d'utilisation


Création d'un index de texte

Résumé

Quand
Une fois pour chaque colonne contenant du texte dans lequel la recherche doit s'effectuer.

Commande
CREATE INDEX ... FOR TEXT ... (Voir les exemples ci-dessous)

Autorisation
CONTROL sur la table

Il est possible de créer un index de texte sur des types de données pris en charge, bien que les conditions requises soient différentes pour les types de données suivants :

Différentes conditions préalables doivent être également respectées pour la création d'un index de texte pour une recherche de procédure mémorisée.

Lorsque vous procédez à la création d'un index de texte, les objets suivants sont également créés :

Table de journalisation
Cette table conserve une trace de toutes les lignes modifiées dans la table utilisateur. Notez que si vous sélectionnez l'option Recreate index on Update ou utilisez des tables de capture de réplication, la table de journalisation n'est pas créée.

Table d'événements
Cette table recueille les informations relatives aux incidents pendant la mise à jour des index de texte.

Déclencheurs sur la table utilisateur
Ils ajoutent des informations dans la table de journalisation chaque fois qu'un document est ajouté, supprimé ou modifié dans la colonne. Ces informations sont nécessaires pour la synchronisation de l'index lors de la prochaine indexation.

Notez que vous ne pouvez créer des déclencheurs que si vous créez une table de journalisation et que l'index de texte est créé sur une table de base et non sur des vues ou des tables d'alias de type nickname.

Afin d'optimiser les performances et l'espace disque, utilisez la commande CREATE INDEX pour spécifier un autre espace table pour les tables.

Remarque

L'utilisation de la commande DB2 LOAD pour importer les documents peut entraîner des incidents, du fait que les déclencheurs ne se mettent pas en application et que l'indexation incrémentielle des documents chargés est impossible.

De ce fait, il est préférable d'utiliser la commande DB2 IMPORT car elle active les déclencheurs.

L'exemple suivant crée un index de texte sur la colonne de texte HTMLFILE dans la table htmltab.

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

Une clé primaire est nécessaire sur cette table.

Les valeurs par défaut pour la création de l'index émanent de la vue db2ext.dbdefaults.

Si des erreurs se produisent pendant l'indexation, des événements de mise à jour d'index sont ajoutés à la table d'événements. Par exemple, lorsqu'un document en file d'attente pour indexation est introuvable. Pour plus d'informations, reportez-vous à la section Vue d'événements.

Pour inverser les modifications apportées par la commande CREATE INDEX, utilisez la commande DROP INDEX. Pour plus d'informations, reportez-vous à la section Suppression d'un index de texte.

Pour synchroniser l'index de texte avec la base de données, utilisez la commande suivante :

db2text update index DB2EXT.HTMLIDX for text

Notez qu'il n'est possible de trouver des documents qu'après synchronisation.

Résumé de la recherche

En fonction des options sélectionnées au cours de la création de l'index, plusieurs méthodes de recherche sont possibles :

  • Les fonctions de recherche scalaires s'appliquent à tous les index de texte, excepté ceux créés sur des vues.
  • La fonction de recherche de procédure mémorisée ne s'applique qu'aux index de texte, créés avec une mémoire cache.
  • La fonction de valeur table SQL s'applique à tous les index de texte, y compris ceux créés sur des vues.


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]