Base de données

Documents d'exploration stockés dans une base de données qui prend en charge la connectivité de base de données Java (JDBC) API.

IBM Cloud Pak for Data IBM Software Hub

Ces informations s'appliquent uniquement aux déploiements installés.

IBM Watson® Discovery ne prend pas en charge l'authentification Kerberos sur Cloud Pak for Data.

Quels documents sont explorés

  • Chaque ligne de la base de données est explorée et ajoutée à la collection en tant que document unique. Les colonnes sont indexées en tant que métadonnées.
  • Le moteur d'exploration tente d'explorer et d'indexer le contenu, tel que BLOB/BINARY, qui est stocké dans la base de données. Les types de fichier pris en charge par Discovery sont indexés. Pour plus d'informations, voir Types de fichier pris en charge.
  • Lorsqu'une source est réexplorée, de nouveaux documents sont ajoutés, les documents mis à jour sont modifiés en fonction de la version actuelle et les documents supprimés sont supprimés de l'index de la collection.
  • Tous les connecteurs de source de données Discovery sont en lecture seule. Quels que soient les droits accordés au compte d'exploration, Discovery n'écrit, ne met à jour ou ne supprime jamais de contenu dans la source de données d'origine.

Configuration requise pour les sources de données

Outre les exigences de source de données pour tous les déploiements installés, votre source de données de base de données doit répondre aux exigences suivantes:

  • Discovery prend en charge les versions de source de données suivantes :

    • Data Virtualization sur IBM Cloud Pak for Data 1.8.0, 1.8.3 qui utilisent Db2 11.5
    • IBM Db2: 10.5, 11.1, 11.5
    • Microsoft SQL Server : 2012, 2014, 2016, 2017
    • Oracle Database: 12c, 18c, 19c
    • PostgreSQL: 9.6, 10, 11

    La prise en charge de Data Virtualization a été ajoutée avec les éditions IBM Cloud Pak for Data 4.5.x

  • Vous devez obtenir les licences de service requises pour la source de données à laquelle vous souhaitez vous connecter. Pour plus d'informations sur les licences, contactez l'administrateur système de la source de données.

Etape de prérequis

  • Choisissez les tables de base de données à explorer. Il est possible de regrouper plusieurs tables dans une collection et de spécifier des tables ayant des schémas ou des jeux de colonnes différents. Vous devez connaître les informations suivantes :

    • Noms de schéma
    • Noms de table

    Pour Data Virtualization sur IBM Cloud Pak for Data, vous pouvez obtenir ces détails à partir du client Web IBM Cloud Pak for Data. Cliquez sur l'icône du menu principal, développez Données, puis sélectionnez Data virtualization. Au début de la page, choisissez d'afficher les données virtualisées.

    Montre la vue Data virtualization de Cloud Pak for Data
    Vue des données virtualisées en Cloud Pak for Data

  • Soyez prudent si vous prévoyez d'explorer plusieurs tables comportant des colonnes ayant le même nom mais des types de données différents. Dans les projets Content Mining, des colonnes portant le même nom mais dont les types de données sont différents sont affectées à des zones dont le nom comporte un suffixe de type de données, tel que DATA_string. Dans tous les autres types de projet, les données de l'une des tables sont exclues de l'index. Par exemple, si vous avez deux tables dont les colonnes s'appellent DATA et que la colonne DATA d'une table est remplie de dates et la colonne de l'autre table de chaînes, les données de l'une des tables sont exclues de l'index.

  • Obtenez les données d'identification d'un utilisateur autorisé à accéder aux tables que vous souhaitez explorer.

  • Avant de pouvoir vous connecter à une base de données, vous devez obtenir la bibliothèque de pilotes JDBC pour la base de données. Lorsque vous configurez la source de données de la base de données, vous êtes invité à indiquer le chemin d'accès aux classes du pilote JDBC.

  • Avant de pouvoir vous connecter au service Data Virtualization à l'aide de JDBC, vous devez installer les packages de pilote IBM Data Server. Pour plus d'informations, voir Connexion d'applications au service Data Virtualization.

  • Si vous souhaitez vous connecter à une instance de Data Virtualization qui est hébergée dans un cluster différent de votre service Discovery, vous devez transférer le trafic qui est acheminé pour Data Virtualization depuis un noeud d'infrastructure externe vers les noeuds maître de votre cluster. Pour plus d'informations, voir Mise à jour du fichier de configuration HAProxy.

  1. Téléchargez les fichiers JAR de la bibliothèque de pilotes JDBC à partir du serveur de base de données ou du site Web du fournisseur.

    Les fichiers suivants sont associés à chaque base de données:

    • Db2 et Data Virtualization: db2jcc4.jar
    • Oracle: ojdbc8.jar
    • SQL Server: mssql-jdbc-7.2.2.jre8.jar
    • PostgreSQL: postgresql-42.2.6.jar
  2. Compresser les fichiers JAR en un seul fichier compressé.

    Si vous disposez d'un pilote JDBC qui ne comporte qu'un seul fichier JAR, ignorez cette étape.

  3. Notez l'emplacement de stockage du pilote. Vous devez spécifier le répertoire dans lequel vous stockez ce fichier JAR ou compressé dans la procédure suivante afin que Discovery puisse le télécharger.

Connexion à une source de données de base de données

Avant de commencer, si vous prévoyez d'appliquer des enrichissements à vos données, créez la collection dans un type de projet Content Mining. Si vous utilisez un type de projet différent et que vous prévoyez d'appliquer des enrichissements, arrêtez ici. Pour plus d'informations, voir Application d'enrichissements à un contenu à partir d'une base de données.

A partir de votre projet Discovery, effectuez les étapes suivantes :

  1. Dans le panneau de navigation, sélectionnez Gestion des collections.

  2. Cliquez sur Nouvelle collection.

  3. Cliquez sur Base de données, puis sur Suivant.

  4. Attribuez un nom à la collection.

  5. Si la langue des documents dans la base de données n'est pas l'anglais, sélectionnez la langue appropriée.

    Pour obtenir la liste des langues prises en charge, voir Langues prises en charge.

  6. Facultatif: modifiez la planification de synchronisation.

    Pour plus d'informations, voir Options de planification d'exploration.

  7. Complétez les champs suivants dans la section Entrez vos informations d'identification:

    URL de la base de données

    Le site URL du serveur de base de données.

    Le tableau suivant présente des exemples d'URL de base de données:

    Exemples d'URL de base de données
    Base de données Syntaxe Exemple
    Data virtualization (même cluster) jdbc:db2://{fully-qualified-hostname-of-dv-service}:{jdbc-nonssl-internal-port}/bigsql jdbc:db2://c-db2u-dv-db2u-engn-svc.myproject.svc.cluster.local:50000/bigsql
    Data virtualization (cluster distinct) jdbc:db2://{cluster-address }: {jdbc-nonssl-external-port} /bigsql jdbc:db2://api.conn.cp.example.com:30269/bigsql
    Db2 jdbc:db2://{server}:{port}/{database_name} jdbc:db2://localhost:50000/sample:sslConnection=true;
    Oracle jdbc:oracle:thin:@//{host}:{TCPport}/{service_name} jdbc:oracle:thin:@localhost:1521/sample
    SQL Server jdbc:sqlserver://{serverName}[{instanceName}]:{port}[;property=value] jdbc:sqlserver://localhost:1433;DatabaseName=sample
    PostgreSQL jdbc:postgresql://{host}:{port}/{database} jdbc:postgresql://localhost/sample
    Utilisateur

    Le nom d'utilisateur que vous obtenez de la base de données que vous avez sélectionnée. Ce nom d'utilisateur sert à explorer la source. Votre nom d'utilisateur est différent d'une base de données à une autre.

    Mot de passe

    Le mot de passe associé à votre nom d'utilisateur. Votre mot de passe est différent d'une base de données à une autre.

  8. Complétez les champs suivants dans la section Paramètres de connexion:

    Type de pilote JDBC

    Choisissez la base de données.

    Db2 est sélectionné par défaut. Si vous souhaitez extraire des données d'un type de base de données qui n'est pas répertorié, sélectionnez AUTRE. Pour explorer les données gérées par Data Virtualization sur IBM Cloud Pak for Data, conservez Db2 sélectionné.

    JDBC nom de classe du pilote

    Nom de classe du pilote JDBC associé à la base de données que vous avez sélectionnée. Cette zone est renseignée automatiquement, sauf si vous sélectionnez AUTRES.

    Chemin d'accès aux classes du pilote JDBC

    Téléchargez un fichier de pilote JDBC, qui peut avoir une extension de fichier.jar ou.zip. Vous pouvez également réutiliser un fichier .jar ou .zip que vous avez téléchargé précédemment.

  9. Renseignez les zones suivantes dans la section Specify what you want to crawl, puis cliquez sur Add:

    Nom de schéma
    Le schéma que vous souhaitez explorer.
    Nom de table
    Table dans un schéma que vous souhaitez explorer.

    Cliquez sur l'icône d'édition pour spécifier d'autres paramètres d'exploration de table, notamment:

    Clé primaire
    Clé primaire de la table de la base de données cible. Si la clé primaire n'est pas configurée dans la table de la base de données cible, vous devez spécifier la clé dans ce champ. Le moteur d'exploration de la base de données JDBC ajoute cette valeur de clé primaire à l'URL de chaque ligne explorée pour conserver son unicité. Lorsque la clé primaire est une clé composée, concaténez les noms de clé à l'aide d'une virgule, par exemple key1,key2. Si aucune valeur n'est spécifiée, les valeurs par défaut du projet sont les zones de clé primaire de la table. Si la clé primaire est configurée dans la table de base de données cible, cette clé est automatiquement détectée.
    Filtre de ligne
    Facultatif. Spécifiez la clause SQL WHERE pour désigner les lignes de la table à explorer. Vous devez spécifier une expression booléenne pouvant être la condition d'une clause WHERE dans une instruction SELECT. S'il y a une erreur de syntaxe ou de nom de colonne, la table est exclue de l'exploration et aucun document n'est indexé.
    Colonne avec les données à extraire
    Nom de la colonne avec les données que vous souhaitez explorer. Si vous ne spécifiez pas la colonne, une colonne avec du texte ou avec un seul objet de grande taille est choisie pour être explorée.
    Type MIME des données
    Facultatif. Le type MIME est détecté s'il n'est pas spécifié.

    Les valeurs que vous spécifiez dans la boîte de dialogue des paramètres d'exploration de table ne sont pas affichées avec les noms de schéma et de table, mais les valeurs sont appliquées à la connexion de base de données.

    Les zones Column with data to extract et MIME type of data ont été ajoutées avec l'édition 4.6.5.

  10. Si vous souhaitez que le moteur d'exploration extrait du texte des images des documents, développez Plus de paramètres de traitementet définissez Appliquer la reconnaissance optique des caractères (OCR) sur On.

    Lorsque la reconnaissance optique des caractères est activée et que vos documents contiennent des images, le traitement prend plus de temps. Pour plus d'informations, voir Reconnaissance optique des caractères.

  11. Cliquez sur Terminer.

La collection est créée rapidement. Le traitement des données à mesure qu'elles sont ajoutées à la collection prend plus de temps.

Si vous souhaitez vérifier la progression, accédez à la page Activité. Dans le panneau de navigation, cliquez sur Gérer les collections, puis cliquez pour ouvrir la collection.

Utilisation de l'authentification Windows sous Linux

Le pilote JDBC de Microsoft ne prend pas en charge l'authentification Windows sous Linux. Si vous souhaitez utiliser l'authentification Microsoft Windows pour accéder à SQL Server sous Linux, vous pouvez utiliser un pilote JDBC tiers appelé jTDS à partir de Sourceforge. Spécifiez les valeurs suivantes lors de la configuration:

  • Base de données URL: jdbc:jtds:sqlserver://<host>:<port>;databaseName=<database>;domain=<domain>;useNTLMv2=true;
  • JDBC type de conducteur : OTHER
  • JDBC nom de la classe du pilote : net.sourceforge.jtds.jdbc.Driver

Application d'enrichissements à du contenu à partir d'une base de données

Si vous utilisez une base de données comme source de données et que vous souhaitez appliquer des enrichissements aux zones imbriquées qui sont indexées à partir de la base de données, vous devez utiliser un type de projet Content Mining.

Si votre objectif est de créer une application de recherche à l'aide d'un type de projet Document Retrieval, créez d'abord un type de projet Content Mining. A partir du projet Content Mining, vous pouvez vous connecter à la base de données et enrichir les données. Vous pouvez ensuite réutiliser la collection enrichie à partir d'un projet d'extraction de document.

Pour enrichir le contenu de base de données à utiliser dans un projet d'extraction de document, procédez comme suit:

  1. Créer un projet de Content Mining.

    Pour plus d'informations, voir Création d'un projet.

  2. Se connecter à une source de données.

    Pour plus d'informations, voir Configuration d'une source de données: Base de données.

  3. Appliquez des enrichissements.

    pour plus d'informations, consultez les rubriques suivantes :

  4. Créez un projet d'extraction de document.

    Pour plus d'informations, voir Création d'un projet.

    Lorsque vous êtes invité à choisir une collection, choisissez Réutiliser les données d'une collection existante. Si nécessaire, faites défiler l'écran pour voir cette option.

  5. Sélectionnez la collection que vous avez créée et enrichie à l'aide du projet Content Mining, puis cliquez sur Terminer.