Pour maîtriser totalement les fonctionnalités de DB2 Extension Net Search, il est nécessaire connaître certains termes clés qui figurent en gras dans cette section, ainsi que les diverses options disponibles. Il est également nécessaire d'avoir des connaissances de base sur les concepts et les termes propres à DB2.
En principe, DB2 Extension Net Search effectue la recherche dans les documents texte contenus dans la colonne d'une table de base de données.
Les documents texte doivent être identifiables de manière unique. Pour ce faire, l'Extension Net Search utilise la clé primaire de la table.
Les documents peuvent être de formats divers, tels que HTML ou XML.
Plutôt que de rechercher de manière séquentielle dans les documents texte, ce qui nécessiterait énormément de temps, l'Extension Net Search crée un index de texte permettant la recherche dans les documents.
Un index de texte est constitué des termes importants, extraits des documents de texte.
Figure 1. Création d'un index de texte
La création d'un index de texte est le processus qui consiste à définir et à déclarer les propriétés de l'index, comme, par exemple, son emplacement. Une fois créé, l'index de texte ne contient pas de données. La mise à jour de l'index est le processus qui consiste à ajouter des données dans l'index de texte. La première mise à jour de l'index ajoute tous les documents texte de la colonne de texte à l'index. Cette opération est appelée mise à jour initiale.
L'utilisation d'un index de texte pour la recherche engendre des problèmes de synchronisation entre la table et l'index de texte qui doivent être pris en considération, du fait que toutes les modifications de suivi apportées à la table (additions, suppressions et mises à jour de documents texte) doivent être reflétées dans l'index de texte.
La synchronisation dans l'Extension Net Search est basée sur des déclencheurs qui stockent automatiquement les informations relatives aux documents nouveaux, modifiés et supprimés dans une table de journalisation. Chaque index de texte dispose d'une table de journalisation. L'opération consistant à appliquer le contenu de la table de journalisation à l'index de texte correspondant est appelée mise à jour incrémentielle.
Figure 2. Processus de mise à jour incrémentielle
L'index de texte peut être mis à jour à l'aide d'une option manuelle ou automatique. L'option automatique utilise une programmation de la mise à jour pour définir les jours et les heures.
Notez qu'aucune de ces options ne synchronise l'index de texte dans le cadre d'une transaction de mise jour, de suppression et d'insertion de documents texte. L'indexation de texte asynchrone de l'Extension Net Search améliore les performances et les accès concurrents. La mise à jour est appliquée dans une transaction distincte pour copier une toute petite partie de l'index. Ce dernier est seulement verrouillé à l'accès en lecture pendant une très courte durée lorsque la copie est mise à la place de l'original. Ceci est transparent pour les opérations de recherche. Pour plus d'informations, reportez-vous au Chapter 5, Services de l'instance de l'Extension Net Search.
Un index de texte présente certaines propriétés, telles que des propriétés de mise à jour automatique et d'emplacement du fichier d'index. Si nécessaire, vous pouvez modifier certaines propriétés. Cette opération est également connue sous le nom de modification de l'index.
Une telle propriété existe si la clause ORDER BY doit pré-trier l'index de texte sur les colonnes de la table. Dans ce cas, la mise à jour initiale indexera le document texte dans l'ordre spécifié et renverra les résultats de la recherche dans cet ordre.
Par exemple, la spécification de résumés de livres pré-triés en fonction du prix du livre. Lors de la recherche des livres les moins chers relatifs aux systèmes de base de données relationnelle, vous pouvez limiter la recherche de texte afin qu'elle ne revoie que les deux premiers livres qui seront les meilleurs marchés. Cependant, sans index pré-trié, vous devez rechercher tous les livres et les associer aux livres les moins chers, ce qui est une opération beaucoup plus coûteuse.
L'Extension Net Search autorise plusieurs index pré-triés par colonne de texte. Par exemple, un index pour le pré-tri des livres en fonction de leur date de publication et un second pour le pré-tri des livres en fonction de leur prix.
Généralement, la première mise à jour qui suit la création d'un index de texte est une mise à jour initiale et les suivantes sont incrémentielles. Cependant, lors de l'utilisation d'index pré-triés, vous devez conserver l'ordre en cas de mise à jour. L'option Recreate Index on Update s'en charge, reconstruisant totalement l'index chaque fois qu'une mise à jour est effectuée.
Une fois l'index de texte mis à jour, la recherche peut s'effectuer à l'aide de l'une des options suivantes :
Comme les options de recherche présentent des caractéristiques fonctionnelles différentes, elles sont expliquées dans les sections suivantes.