IBM Books
(C) IBM Corp. 2000

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

CREATE INDEX

Cette commande crée un index en texte intégral sur une colonne de texte en vue d'une utilisation dans des requêtes en texte intégral de DB2 Extension Net Search.

Dans un environnement DB2 réparti, un index en texte intégral est créé sur chaque partition de l'espace table sur lequel la table utilisateur est définie. Les modifications ultérieures de la répartition de l'espace table ne sont pas autorisées et mènent à un comportement inattendu dans les commandes d'administration et lors du processus de la recherche.

Autorisation

Selon les vues de catalogue DB2, l'ID utilisateur de cette commande doit disposer des droits CONTROL sur la table sur laquelle l'index en texte intégral a été créé.

Syntaxe de commande

>>-CREATE-INDEX--+-----------------+--nom-index FOR TEXT--ON---->
                 '-schéma-index"."-'
 
>--+------------------+--nom-table------------------------------>
   '-schéma-table-"."-'
 
>--+-(nom-colonne-texte)-------------------------------------------+-->
   '-+-----------------------+--nom-fonction-(-nom-colonne-texte-)-'
     '-|schéma-fonction "."|-'
 
>--+-------------------+--+---------------------------------+--->
   '-|liste-attributs|-'  '-|informations-par-défaut-texte|-'
 
>--+--------------------------------+--+--------------------+--->
   '-|caractéristiques-mise-à-jour|-'  '-|options-stockage|-'
 
>--+-------------------------------------+---------------------->
   '-|options-résultats-recherche-cache|-'
 
>--+-------------------------------+--+---------------------+--><
   '-|options-configuration-index|-'  '-|options-connexion|-'
 
liste-attributs:
 
                  .-','-----------------------------------------.
                  V                                             |
|--ATTRIBUTES--(----expression-colonne-SQL--+-----------------+-+--)--|
                                            '-AS-nom-attribut-'
 
informations-par-défaut-texte:
 
|--+--------------+--+------------------+----------------------->
   '-CCSID--ccsid-'  '-LANGUAGE--langue-'
 
>--+-------------------------------------------+----------------|
   '-FORMAT--format--+-----------------------+-'
                     '-|informations-modèle|-'
 
informations-modèle:
 
|--DOCUMENTMODEL--nom-modèle-document--IN--chemin-fichier-modèle-->
 
>--+--------------------+---------------------------------------|
   '-USING-CCSID--ccsid-'
 
caractéristiques-mise-à-jour:
 
|--+-----------------------------------------------+------------>
   '-UPDATE-FREQUENCY--+-NONE--------------------+-'
                       '-|fréquence-mise-à-jour|-'
 
>--+-|caractéristiques-mise-à-jour-incrémentielle|-+------------|
   '-RECREATE INDEX ON UPDATE----------------------'
 
caractéristiques-mise-à-jour-incrémentielle:
 
|--+------------------------------------------+----------------->
   '-UPDATE-MINIMUM--nombre-min-modifications-'
 
>--+---------------------------+-------------------------------->
   '-REORGANIZE--+-AUTOMATIC-+-'
                 '-MANUAL----'
 
>--+----------------------------------+-------------------------|
   +-COMMITCOUNT-FOR-UPDATE--nombre---+
   '-|caractéristiques-table-capture|-'
 
caractéristiques-table-capture:
 
|--REPLICATION-CAPTURE-TABLE------------------------------------>
 
>--+--------------------------+--nom-table-capture-------------->
   '-schéma-table-capture-"."-'
 
>--CONTROL TABLE SCHEMA--schéma-contrôle-capture----------------|
 
fréquence-mise-à-jour:
 
|--D--(--+-*---------+--)--H--(--+-*----------+--)--M----------->
         | .-,-----. |           | .-,------. |
         | V       | |           | V        | |
         '---0...6-+-'           '---0...23-+-'
 
      .-,------.
      V        |
>--(----0...59-+--)---------------------------------------------|
 
options-stockage:
 
|--+-----------------------------+------------------------------>
   '-INDEX-DIRECTORY--répertoire-'
 
>--+---------------------------------------+-------------------->
   '-WORK-DIRECTORY--répertoire-de-travail-'
 
>--+--------------------------------------------+---------------|
   '-ADMINISTRATION-TABLES-IN--nom-espace-table-'
 
options-résultats-recherche-cache:
 
|--CACHE TABLE-------------------------------------------------->
 
      .-','------------------------------------------.
      V                                              |
>--(----expression-colonne-SQL--+------------------+-+--)------->
                                '-AS--nom-attribut-'
 
>--+--------------------------------+--------------------------->
   +-PERSISTENT--+----------------+-+
   |             '-IN--répertoire-' |
   '-TEMPORARY----------------------'
 
>--+----------------------+------------------------------------->
   '-PCTFREE--pourcentage-'
 
>--MAXIMUM CACHE SIZE--taille-mémoire--------------------------->
 
>--+--------------------------------------------------------+--->
   '-INITIAL SEARCH RESULT ORDER--(--ordre-SQL-par-liste--)-'
 
>--+--------------------------------------------------------+---|
   '-KEY COLUMNS FOR INDEX ON VIEW--(liste-nom-colonne-SQL)-'
 
options-configuration-index:
 
                           .-,-------------.
                           V               |
|--INDEX CONFIGURATION--(----valeur-option-+--)-----------------|
 
options-connexion:
 
|--CONNECT-TO--nom-de-base-de-données--+-------------------------------------------+--|
                                       '-USER--id-utilisateur--USING--mot-de-passe-'
 
 

Paramètres de commande

schéma-index
Schéma de l'index de texte. A utiliser comme nom de schéma DB2 pour les tables d'administration spécifiques à l'index. Si aucun schéma n'est spécifié, l'ID utilisateur de la connexion DB2 est utilisé. Notez que le schéma de l'index doit être un nom de schéma DB2 valide.

nom-index
Nom de l'index. Avec le schéma d'index, il identifie de manière unique un index en texte intégral dans une base de données. Il sert également de nom pour la table d'événements d'index.

Pour plus de détails, reportez-vous à l'Annexe C, Catalogues d'informations DB2 Extension Net Search. Notez que le nom de l'index doit être un nom d'index DB2 valide.

schéma-table
Schéma de table, d'alias de type nickname ou de vue, pour lequel l'index est créé. Si aucun schéma n'est spécifié, l'ID utilisateur de la connexion DB2 est utilisé.

nom-table
Nom de la table de texte, de l'alias de type nickname ou de la vue dans la base de données connectée qui contient la colonne pour laquelle l'index en texte intégral est créé.

Notez que si le nom de table ne fait pas référence à une table de base DB2, les restrictions suivantes sont appliquées :

nom-colonne-texte
Nom de la colonne contenant le texte utilisé pour la création d'un index en texte intégral. Le type de la colonne doit être l'un des suivants :

Si le type de la colonne n'est pas l'un de ceux-là, spécifiez une fonction de transformation à l'aide de schéma-fonction.nom-fonction pour convertir le type de colonne.

Notez que, si vous utilisez une colonne Data Link, le contenu référencé doit être extrait pour l'indexation. Cette opération a lieu via le protocole qui fait partie de la valeur Data Link, par exemple Http. Si vous utilisez des protocoles différents de "file" ou "unc", assurez-vous qu'ils sont pris en charge par des serveurs faisant partie des valeurs Data Link. Comme des serveurs proxy peuvent être nécessaires pour extraire le contenu du fichier, l'administrateur de base de données peut les spécifier dans la table DB2EXT.PROXYINFORMATION avant la création de l'index.

Notez que plusieurs index sont autorisés sur les mêmes colonnes, mais seulement dans les conditions suivantes :

L'index est créé sur une vue
De ce fait, vous ne pouvez pas utiliser l'index dans les arguments de recherche CONTAINS, SCORE ou NUMBEROFMATCHES.

L'index est créé sur une table
Si tous les index sont synchronisés, ils ont des propriétés identiques sur la même colonne dans les détails de la commande CREATE INDEX suivante :
  • Schéma et nom de fonction
  • ATTRIBUTES
  • CCSID
  • LANGUAGE
  • FORMAT
  • DOCUMENTMODEL
  • INDEX CONFIGURATION

Ainsi, peu importe l'index choisi par les arguments CONTAINS, SCORE ou NUMBEROFMATCHES.

schéma-fonction.nom-fonction
Schéma et nom d'une fonction UDF utilisée pour accéder aux documents texte qui se trouvent dans une colonne d'un type pris en charge. La fonction effectue une conversion du type de colonne, à l'aide du paramètre d'entrée d'un type de colonne arbitraire. Elle renvoie la valeur de l'un des types pris en charge par l'Extension Net Search.

ATTRIBUTES (expression-colonne-SQL AS nom-attribut, ...)
Garantit que le contenu d'une expression de colonne est indexé en plus de la colonne de texte. Ce contenu peut être également recherché par la clause ATTRIBUTE dans une instruction de recherche. Les expressions de la colonne SQL doivent être définies à l'aide des noms de colonne non qualifiés de la table sur laquelle l'index est créé. Le seul type de données autorisé est DOUBLE. Les opérateurs de transtypage peuvent être utilisés dans les expressions de colonnes, mais le transtypage implicite de DB2 est impossible. Les noms d'attribut doivent respecter les règles des noms d'attribut de modèles de document et doivent être différents des noms d'attribut dans le fichier de définition de modèle d'index.

Déterminez les noms d'attribut pour les expressions en respectant les règles suivantes :

Par exemple : ATTRIBUTES (CAST(JULIAN_DAY(date) AS DOUBLE) as day, (price1+price2)/2 as avg_price)

Notez que les attributs sans guillemet sont mappés en majuscules et doivent être spécifiés de cette façon pendant la recherche.

CCSID ccsid
L'ID de jeu de caractères codés (CCSID) est utilisé lors de l'indexation des documents texte. La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='CCSID'.

LANGUAGE langue
Pour la liste, reportez-vous à l'Annexe E, Langues prises en charge. La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='LANGUAGE'.

FORMAT format
Format des documents texte dans la colonne, par exemple, HTML. Ces informations sont nécessaires pour l'indexation des documents. Pour obtenir la liste des formats de document pris en charge pour les documents structurés, reportez-vous à la section Formats de document et pages de codes prises en charge.

Pour les formats de documents structurés, vous pouvez spécifier des informations dans un fichier de modèle de document. Si aucun modèle de document n'est spécifié, le texte du document est indexé à l'aide du modèle de document par défaut. Reportez-vous à la section Modèles de document.

Si le mot clé du format n'est pas spécifié, la valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='FORMAT'.

DOCUMENTMODEL nom-modèle-document IN chemin-fichier-modèle
Le chemin-fichier-modèle spécifie l'emplacement d'un fichier modèle. Il contient une définition de modèle pour le format dans la clause FORMAT. Il doit être lisible par le propriétaire d'instance DB2. Un modèle de document permet d'indexer des sections spécifiques d'un document et d'y effectuer des recherches. Il est possible de définir des balises de marquage et des noms de section dans un modèle de document. Ce dernier est lié à un format de document, prenant en charge les structures HTML, XML ou GPP. Il n'est possible de spécifier qu'un seul modèle de document dans un fichier modèle.

Comme les modèles de documents n'ont pas besoin d'être référencés dans les conditions de recherche, utilisez à la place tous les noms de section dans le fichier modèle. Pour plus de détails sur les modèles de documents, reportez-vous au Chapter 9, Utilisation de documents structurés. Notez que comme le modèle de document est en lecture seule pendant la commande CREATE INDEX, toutes les modifications ultérieures ne sont pas reconnues pour cet index.

Notez que dans un environnement DB2 réparti, le chemin-fichier-modèle doit être accessible sur chaque noeud à l'aide d'un système de fichiers partagés.

USING CCSID ccsid
Spécifiez un CCSID pour interpréter le contenu du fichier modèle. La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='MODELCCSID'.

UPDATE FREQUENCY
La fréquence de mise à jour de l'index détermine quand la mise à jour a lieu. Si le nombre de modifications de la table utilisateur est inférieur à la valeur spécifiée par l'option UPDATE MINIMUM, l'index n'est pas mis à jour. Si la valeur de UPDATE FREQUENCY n'est pas spécifiée, la valeur par défaut NONE est utilisée, de sorte qu'aucune autre mise à jour de l'index n'est effectuée. Ceci est utile lorsqu'aucune autre modification ne doit avoir lieu sur une colonne de texte.

La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='UPDATEFREQUENCY'.

UPDATE MINIMUM nombre-min-modifications
Nombre minimal de modifications autorisées sur les documents texte avant que l'index ne soit mis à jour automatiquement par la commande UPDATE FREQUENCY. Les valeurs d'entiers positifs sont autorisées. La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='UPDATEMINIMUM'.

Notez que cette valeur est ignorée dans une commande DB2TEXT UPDATE. Cette option ne peut pas être utilisée avec l'option RECREATE INDEX ON UPDATE, comme le nombre de modifications n'est pas disponible sans table de journalisation, ni déclencheurs de mise à jour incrémentielle.

Pour des bases de données réparties, l'option UPDATE MINIMUM est vérifiée sur tous les noeuds.

REORGANIZE AUTOMATIC/MANUAL
Les mises à jour effectuées à l'aide de UPDATE FREQUENCY ne reconnaissent l'index que si l'option REORGANIZE AUTOMATIC est spécifiée. Cette étape s'effectue automatiquement en fonction de la valeur de select REORGSUGGESTED from DB2EXT.TEXTINDEXES après la mise à jour.

REORGANIZE MANUAL ne peut être effectué qu'avec une commande UPDATE manuelle, à l'aide de l'option REORGANIZE.

Si la clause REORGANIZE est omise, la valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS dans laquelle DEFAULTNAME='AUTOMATICREORG'.

Pour plus d'informations sur l'option REORGANIZE, reportez-vous à la section UPDATE INDEX.

REPLICATION CAPTURE TABLE schéma-table-capture.nom-table-capture CONTROL TABLE SCHEMA schéma-contrôle-capture
Pour le traitement de mise à jour incrémentielle, la table de capture de réplication spécifiée est utilisée à la place d'une table de journalisation, normalement créée pour l'index. Ainsi, nom-schéma, nom-table et le nom de la table de capture font référence à des objets de la base de données DB2 (fédérée) locale.

Le schéma-contrôle-capture correspond au nom de schéma des tables de contrôle de réplication, par exemple IBMSNAP_PRUNE_SET sur le système DB2 local. Les tables de contrôle de réplication doivent être disponibles en tant qu'alias de type nickname sur le système DB2 local après la configuration de la réplication.

Des alias de type nickname doivent être disponibles au minimum pour les tables de contrôle de capture suivantes :

Comme le Centre de réplication DB2 ne garantit pas automatiquement la création d'alias de type nickname locaux pour une table de capture éloignée et des tables de contrôle de capture, cela peut être fait manuellement.Cette tâche est similaire à la création d'un alias de type nickname pour la table sur laquelle l'index de texte est créé.

Les noms des colonnes de clé primaire dans l'alias de type nickname de table utilisateur et l'alias de type nickname de table de capture doivent correspondre. De plus, les noms des colonnes IBMSNAP_OPERATION, IBMSNAP_COMMITSEQ et IBMSNAP_INTENTSEQ ne doivent pas être modifiées dans l'alias de type nickname de la table de capture.

Après la création de l'index, les noms de colonne DB2EXT.TEXTINDEXES(LOGVIEWNAME) et DB2EXT.TEXTINDEXES(LOGVIEWSCHEMA) font référence au nom local de la table de capture de réplication.

Comme l'Extension Net Search ne requiert pas toutes les fonctionnalités du Centre de réplication DB2, la table CD ou CCD doit satisfaire aux règles suivantes :

Les autres conditions requises incluent les éléments suivants :

Remarques et restrictions

Assurez-vous d'insérer le nom correct de la table source dans la table d'enregistrement. Selon le type de Système de gestion de base de données, il faut utiliser le nom de table éloigné ou l'alias de type nickname local :

  • DB2 : nom de table éloigné (le nom de table sur le serveur éloigné)
  • Non DB2 : alias de type nickname (alias de type nickname correspondant dans la base de données DB2 fédérée)

Un mappage utilisateur doit exister pour que l'utilisateur local puisse accéder à la source de données éloignée via des alias de type nickname et l'utilisateur éloigné doit disposer des droits de contrôle sur les tables.

Si l'ID utilisateur du propriétaire d'instance DB2 est différent de l'ID utilisateur local, un mappage utilisateur supplémentaire pour l'ID utilisateur du propriétaire d'instance DB2 est nécessaire.

Le nom de la table de base spécifié ne doit pas être une vue sur un alias de type nickname. Ceci est dû au fait qu'une vue peut être sur plusieurs alias de type nickname et que plusieurs tables CD et CCD peuvent être également impliquées. Du fait qu'une seule table CD ou CCD peut être spécifiée dans la clause de capture de réplication, une vue sur des alias de type nickname ne peut pas être prise en charge. En outre, des alias de type nickname sur une vue éloignée ne peuvent pas être pris en charge car la clé primaire est manquante.

La table CD ou CCD doit être un alias de type nickname et ne peut pas être une vue ou un alias.

Pour plus d'informations sur le manuel DB2 Replication Guide and Reference Version 8, reportez-vous à la section Informations connexes.

COMMITCOUNT FOR UPDATE nombre
Pour le traitement de mise à jour incrémentielle, un nombre de validations peut être spécifié. Pour plus d'informations, reportez-vous à la section UPDATE INDEX. Si ce n'est pas le cas, une valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS, dans laquelle DEFAULTNAME='COMMITCOUNT'.

La valeur COMMITCOUNT FOR UPDATE destinée à l'index figure dans DB2EXT.TEXTINDEXES.COMMITCOUNT. Elle peut être modifiée pour chaque index, à l'aide de la commande ALTER INDEX. Elle s'applique également au traitement de la mise à jour planifiée en fonction de la spécification de la commande UPDATE FREQUENCY. Une valeur égale à 0 signifie que la mise à jour est terminée dans une transaction, avec des valeurs supérieures à 0 spécifiant le nombre de documents à traiter dans une transaction.

L'utilisation du nombre de validations a des effets sur les performances. Pour plus d'informations, reportez-vous à la section Remarques sur les performances.

RECREATE INDEX ON UPDATE
Ceci ne permet pas les mises à jour incrémentielles d'index, mais recrée l'index lorsqu'une mise à jour est effectuée (mise à jour planifiée ou par commande). Pour plus d'informations, reportez-vous aux Notes d'utilisation de la section UPDATE INDEX.
Remarque

Aucun déclencheur n'est créé sur la table utilisateur et aucune table de journalisation n'est créée.

INDEX DIRECTORY répertoire
Chemin d'accès au répertoire dans lequel l'index de texte doit être stocké. Comme le répertoire est destiné à contenir les données de l'index, assurez-vous que le répertoire est accessible en lecture/écriture et exécutez les droits pour l'ID utilisateur du propriétaire d'instance DB2.

La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS, dans laquelle DEFAULTNAME=INDEXDIRECTORY'. Un sous-répertoire, NODE<nr>, est créé sous le répertoire pour distinguer les index sur des noeuds logiques d'un serveur.

Notez que dans un environnement DB2 réparti, ce répertoire doit exister sur chaque noeud physique.

WORK DIRECTORY répertoire
Un répertoire de travail distinct peut être spécifié en option. Il sera utilisé pour stocker les fichiers temporaires pendant la recherche sur l'index et les opérations d'administration. Le répertoire doit exister avec des droits d'accès en lecture, écriture et exécution pour l'ID utilisateur du propriétaire d'instance DB2.

La valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS, dans laquelle DEFAULTNAME='WORKDIRECTORY'. Un sous-répertoire, NODE<nr>, est créé sous le répertoire pour distinguer les index sur des noeuds logiques d'un serveur.

Notez que dans un environnement DB2 réparti, ce répertoire doit exister sur chaque noeud physique.

ADMINISTRATION TABLES IN nom-espace-table
Nom de l'espace table normal pour les tables d'administration créées pour l'index. L'espace table doit exister. S'il n'est pas spécifié, l'espace table de la table utilisateur est choisi, si l'index est créé sur une table de base.

Dans le cas d'un alias de type nickname ou d'une vue, un espace table par défaut est choisi par DB2.

Lors de la création d'index de texte sur des vues, des alias de type nickname ou d'index de texte pour une recherche de procédure mémorisée dans un environnement DB2 réparti, l'espace table ne doit posséder qu'un seul noeud.

CACHE TABLE (liste-expression-colonne-SQL)
Une table mise en cache est générée en plus de l'index, constituée des expressions de la colonne spécifiée. Cette mémoire cache est utilisée pour renvoyer le jeu de résultats via une recherche de procédure mémorisée sans jointure des résultats de la recherche en texte intégral avec une table DB2. Notez qu'une recherche DB2 normale à l'aide de l'index en texte intégral et contenant la fonction CONTAINS est toujours possible.

Définissez les expressions de la colonne SQL à l'aide de noms de colonne non qualifiés de la table sur laquelle l'index est créé. Les types d'expression de la colonne SQL autorisés sont tous les types distincts intégrés et définis par l'utilisateur. Les noms de colonne dans le jeu de résultats sont déterminés en respectant les règles suivantes :

Les types de données CLOB ne sont pas pris en charge comme types de données de mémoire cache. Vous devez les transtyper VARCHARS.

Remarque

Notez que si les noms de colonne du jeu de résultats ne sont pas disjoints, la commande CREATE INDEX renvoie une erreur. Notez également que la table mise en cache n'est pas implicitement activée après création. Par exemple, la recherche par procédure mémorisée n'est pas possible tant que la commande DB2TEXT ACTIVATE CACHE n'a pas été effectuée.

Cette option peut être utilisée dans un environnement DB2 réparti, uniquement si la table utilisateur est stockée dans un espace table ne possédant qu'un seul noeud.

PERSISTENT IN répertoire
Indique que la mémoire cache est également créée de manière persistante et peut être activée peu de temps après une désactivation ou une relance du système. La mémoire cache persistante est stockée dans le répertoire spécifié.

Notez que si le répertoire n'est pas spécifié, la valeur par défaut est tirée de la vue db2ext.dbdefaults, dans laquelle DEFAULTNAME='CACHEDIRECTORY'.

TEMPORARY
Spécifie que la mémoire cache n'est pas conservée de manière persistante. Si aucune des valeurs PERSISTENT ou TEMPORARY n'est spécifiée, la valeur par défaut est tirée de la vue DB2EXT.DBDEFAULTS, dans laquelle DEFAULTNAME='USEPERSISTENTCACHE'.

MAXIMUM CACHE SIZE taille-mémoire
Indique la taille maximale de la table mise en cache devant être générée pendant la commande DB2TEXT ACTIVATE CACHE. La taille doit être spécifiée en mégaoctets (Mo) sous forme d'un entier positif. Il n'existe aucune valeur par défaut pour ce paramètre. Si le nombre entier est trop petit, la commande ACTIVATE CACHE échouera. La taille de la mémoire cache réelle est calculée pendant la commande ACTIVATE CACHE.

Les valeurs limites de la taille maximale de la mémoire cache pour les différentes plateformes sont les suivantes :

Pour plus d'informations, reportez-vous à la section Annexe B, Utilisation de grandes quantités de mémoire.

PCTFREE pourcentage
Spécifie le pourcentage de mémoire cache à garder libre pour les documents supplémentaires. Le pourcentage doit être un entier inférieur à 100 et supérieur ou égal à 0. S'il n'est pas spécifié, la valeur par défaut est tirée de la vue db2ext.dbdefaults, dans laquelle DEFAULTNAME='PCTFREE'.

Pour plus de détails, voir ACTIVATE CACHE.

INITIAL SEARCH RESULT ORDER (ordre-SQL-par-liste)
Spécifie l'ordre utilisé pour extraire le contenu de la table utilisateur pendant l'indexation initiale. En utilisant cette option et en passant le rang dynamique des résultats de la recherche en texte intégral, les documents sont renvoyés dans leur ordre d'indexation, tels qu'ils sont stockés dans la table de résultats mise en cache.

Pour plus d'informations, reportez-vous au Chapter 16, Fonction de recherche de procédure mémorisée.

Vous ne pouvez travailler avec des index pré-enregistrés que si vous utilisez l'interface de recherche de procédure mémorisée.

Remarque

L'ordre de l'index ne peut pas être garanti pour les documents nouveaux ou modifiés après une mise à jour incrémentielle. Par exemple : INITIAL RESULT ORDER(length(column1) asc, column2+column3 desc)

KEY COLUMNS FOR INDEX ON VIEW (liste-nom-colonne-SQL)
Si des index sur des vues sont créés, la clause KEY COLUMNS FOR INDEX ON VIEW doit être spécifiée, sinon elle NE DOIT PAS l'être. La liste de noms de colonne spécifie les colonnes qui identifient DE MANIERE UNIQUE une ligne dans la vue.

Comme ce caractère unique ne peut pas être vérifié par DB2 comme dans le cas de clés primaires, il incombe à l'utilisateur d'assurer le caractère unique équivalent. Les colonnes spécifiées constituent une partie de la table de journalisation pour l'index.

INDEX CONFIGURATION (valeur-option), ...
Il s'agit des valeurs de configuration de l'index. Les valeurs par défaut sont soulignées.
Option Valeurs Description
TreatNumbersAsWords 0 ou 1 Interprète les séquences de chiffres comme des mots distincts, même si elles sont adjacentes à des caractères. Par exemple, la valeur par défaut 0 signifie que tea42at5 est considéré comme un mot.
IndexStopWords 0 ou 1 Considère ou ignore les mots vides lors de l'indexation. Actuellement, la liste de mots vides se trouve dans un fichier UCS-2 <langue>.tsw dans le répertoire <instance>/sqllib/db2ext/resources. Les modifications sur ce fichier n'ont aucun effet après la création de l'index. Notez également que <langue> correspond à la valeur LANGUAGE de la commande CREATE INDEX.
UpdateDelay secondes Indique la durée en secondes pour une mise à jour incrémentielle sans tables de capture. Seules les entrées antérieures à cette durée seront prises dans la table de journalisation. Ainsi vous éviterez les mises à jour perdues, par exemple, des modifications de document qui ne sont pas reflétées dans l'index dans les scénarios de transaction où les transactions de l'utilisateur interfèrent avec les commandes de mise à jour. Par conséquent, le paramètre UpdateDelay doit être défini à une durée maximale d'une transaction d'écriture utilisateur sur la table sur laquelle l'index a été créé.

CONNECT TO nom-de-base-de-données
Nom de la base de données qui constitue la cible de cette commande. Ce paramètre peut être omis, si DB2DBDFT est défini et que l'utilisateur exécute la commande sur le serveur. Notez que l'ID utilisateur doit disposer des droits DB2 requis.

USER id-utilisateur USING mot-de-passe
Utilisez un mot de passe et un ID utilisateur pour vous connecter à la base de données. Sans spécification de votre part, la connexion est tentée sous l'ID utilisateur courant et sans mot de passe.

Modifications de la base de données

Modifications de la mémoire partagée
Différées jusqu'à l'exécution de ACTIVATE : si la clause CACHE TABLE est utilisée, une mémoire cache est générée pour la table de résultats dans la mémoire partagée.

Modifications du système de fichiers

Usage

La création d'un index en texte intégral requiert une clé primaire sur la table utilisateur. Dans DB2 Extension Net Search Version 8.1, une clé primaire DB2 comportant plusieurs colonnes peut être utilisée sans restriction de type. Cependant, pour utiliser la recherche de valeur table, aucune clé primaire composée n'est autorisée.

Le nombre de colonnes de clé primaire est limité à 14, la longueur totale de toutes les colonnes de clé primaire est limitée à 1024 - 14 = 1010 octets.

Remarque

Après la création de l'index, la longueur des colonnes de clé primaire ou de vue ne doit pas être modifiée par les commandes ALTER TABLE.

La synchronisation entre la table utilisateur, l'index en texte intégral et la table de résultats mise en cache est réalisée pendant la commande UPDATE INDEX. Pour plus d'informations, reportez-vous à la section UPDATE INDEX.


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