IBM Books
(C) IBM Corp. 2000

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


Exemple simple avec la fonction de recherche scalaire SQL

Effectuez les étapes suivantes dans l'exemple DB2 Extension Net Search :

  1. Création d'une base de données
  2. Activation d'une base de données pour la recherche de texte
  3. Création d'une table
  4. Création d'un index en texte intégral
  5. Chargement des exemples de données
  6. Synchronisation de l'index de texte
  7. Recherche avec l'index de texte

Vous pouvez émettre des modèles de commandes sur la ligne de commande du système d'exploitation en utilisant une base de données existante. Dans les exemples suivants, le nom de la base de données est sample.

Création d'une base de données
Pour créer une base de données dans DB2, utilisez la commande suivante :
db2 "create database sample"

Activation d'une base de données pour la recherche de texte
Vous pouvez émettre des commandes DB2 Extension Net Search, comme vous le faites pour les commandes DB2 sur la ligne de commande du système d'exploitation. Par exemple, la commande suivante permet de démarrer les services de l'instance de l'Extension Net Search :
db2text "START"

La commande ci-dessous permet de préparer la base de données à utiliser avec DB2 Extension Net Search :

db2text "ENABLE DATABASE FOR TEXT CONNECT TO sample"

Cette étape ne doit être effectuée qu'une seule fois pour chaque base de données.

Création d'une table
db2 "CREATE TABLE books (isbn VARCHAR(18) not null PRIMARY KEY,
      author VARCHAR(30), story LONG VARCHAR, year INTEGER)"

Cette commande DB2 permet de créer une table appelée books. Elle comporte des colonnes pour l'auteur (author), l'histoire (story), le numéro ISBN (isbn number) et l'année (year) de publication du livre.

Création d'un index en texte intégral
db2text "CREATE INDEX db2ext.myTextIndex FOR TEXT ON books (story)
         CONNECT TO sample"

Cette commande crée un index en texte intégral pour la colonne story. Le nom de l'index de texte est db2ext.myTextIndex.

Chargement des exemples de données
db2 "INSERT INTO books VALUES ('0-13-086755-1','John', 'Un homme 
     descendait la rue en courant.',2001)"
db2 "INSERT INTO books VALUES ('0-13-086755-2','Mike', 'Le chat chasse
     les souris.', 2000)"
db2 "INSERT INTO books VALUES ('0-13-086755-3','Peter', 'Des hommes se 
     tenaient debout près de la table.',1999)"

Ces commandes chargent le numéro ISBN (isbn), l'auteur (author), l'histoire (story) et l'année de publication (publishing year) de ces livres dans la table.

Synchronisation de l'index de texte
Pour mettre à jour l'index de texte avec des données de la table sample, utilisez la commande suivante :
db2text "UPDATE INDEX db2ext.myTextIndex FOR TEXT CONNECT TO sample"

Recherche avec l'index de texte
Pour rechercher dans l'index de texte, utilisez la fonction de recherche scalaire CONTAINS suivante :
db2 "SELECT author, story FROM books WHERE CONTAINS
    (story, '\"chat\"') = 1 AND YEAR >= 2000"
Remarque

Selon le type de shell du système d'exploitation que vous utilisez, il se peut que vous deviez avoir recours à un autre caractère d'échappement devant les guillemets encadrant l'expression à rechercher dans le texte. L'exemple ci-dessus utilise "\" comme caractère d'échappement.

Cette requête recherche tous les livres contenant le terme chat, parus en 2000 ou après 2000. La requête renvoie la table résultat suivante :

AUTHOR    STORY
Mike   Le chat chasse les souris.

D'autres fonctions prises en charge incluent SCORE et NUMBEROFMATCHES. SCORE renvoie un indicateur sur la précision avec laquelle l'argument de recherche décrit un document trouvé. NUMBEROFMATCHES renvoie le nombre d'occurrences des termes de la requête trouvés dans un document résultant.


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