Database

Documenti di ricerca per indicizzazione memorizzati in un database che supporta Java Database Connectivity (JDBC) API.

IBM Cloud Pak for Data IBM Software Hub

Queste informazioni si applicano solo alle distribuzioni installate.

IBM Watson® Discovery non supporta l'autenticazione Kerberos su Cloud Pak for Data.

Documenti sottoposti a ricerca per indicizzazione

  • Ogni riga nel database viene sottoposta a ricerca per indicizzazione e aggiunta alla raccolta come un documento. Le colonne vengono indicizzate come metadati.
  • Il crawler tenta di eseguire la ricerca per indicizzazione e indicizzare il contenuto, come BLOB/BINARY, memorizzato nel database. I tipi di file supportati da Discovery vengono indicizzati. Per ulteriori informazioni, consultare Tipi di file supportati.
  • Quando un'origine viene ricatturata, vengono aggiunti nuovi documenti, i documenti aggiornati vengono modificati alla versione corrente e i documenti eliminati vengono cancellati dall'indice della raccolta.
  • Tutti i connettori dell'origine dati Discovery sono di sola lettura. Indipendentemente dalle autorizzazioni concesse all'account di ricerca per indicizzazione, Discovery non scrive, aggiorna o elimina mai alcun contenuto nell'origine dati originale.

Requisiti dell'origine dati

Oltre ai requisiti dell'origine dati per tutte le distribuzioni installate, l'origine dati del database deve soddisfare i seguenti requisiti:

  • Discovery supporta le seguenti versioni di origine dati:

    • Data Virtualization su IBM Cloud Pak for Data 1.8.0, 1.8.3 che utilizzano 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

    Il supporto per Data Virtualization è stato aggiunto con IBM Cloud Pak for Data 4.5.x release

  • È necessario ottenere tutte le licenze di servizio richieste per l'origine dati a cui si desidera connettersi. Per ulteriori informazioni sulle licenze, contattare l'amministratore di sistema dell'origine dati.

Passo prerequisito

  • Decidere su quali tabelle di database si desidera eseguire la ricerca per indicizzazione. È possibile eseguire la ricerca per indicizzazione su più tabelle in una raccolta ed è possibile specificare tabelle che hanno schemi o serie di colonne differenti. È necessario conoscere le seguenti informazioni:

    • Nomi schema
    • Nomi tabella

    Per Data Virtualization su IBM Cloud Pak for Data, puoi ottenere questi dettagli dal client Web IBM Cloud Pak for Data. Fare clic sull'icona del menu principale, espandere Dati e selezionare Data virtualization. All'inizio della pagina, scegliere di visualizzare Dati virtualizzati.

    Mostra la vista Data virtualization da Cloud Pak for Data
    Vista dei dati virtualizzati in Cloud Pak for Data

  • Prestare attenzione se si prevede di eseguire la ricerca per indicizzazione su più tabelle che hanno colonne con lo stesso nome ma tipi di dati differenti. Nei progetti Content Mining, le colonne con lo stesso nome ma con tipi di dati differenti vengono assegnate ai campi con un suffisso del tipo di dati nel nome, ad esempio DATA_string. In tutti gli altri tipi di progetto, i dati in una delle tabelle vengono esclusi dall'indice. Ad esempio, se si dispone di due tabelle con colonne denominate DATA e la colonna DATA in una tabella è popolata con date e la colonna nell'altra tabella è popolata con stringhe, i dati in una delle tabelle vengono esclusi dall'indice.

  • Acquisire le credenziali utente per un utente che dispone dell'autorizzazione ad accedere alle tabelle su cui si desidera eseguire la ricerca per indicizzazione.

  • Prima di potersi collegare a un database, è necessario ottenere la libreria di driver JDBC per il database. Quando si configura l'origine dati del database, viene richiesto di specificare il percorso classe del driver JDBC.

  • Prima di potersi collegare al servizio Data Virtualization utilizzando JDBC, è necessario installare i pacchetti del driver IBM Data Server. Per ulteriori informazioni, vedi Connessione delle applicazioni al servizio Data Virtualization.

  • Se vuoi connetterti a un'istanza di Data Virtualization che si trova in un cluster diverso dal tuo servizio Discovery, devi inoltrare il traffico instradato per Data Virtualization da un nodo dell'infrastruttura esterna ai nodi master del tuo cluster. Per ulteriori informazioni, consultare Aggiornamento del file di configurazione HAProxy.

  1. Scaricare i file JAR per la libreria del driver JDBC dal server di database o dal sito Web del fornitore.

    I seguenti file sono associati a ciascun database:

    • Db2 e Data Virtualization: db2jcc4.jar
    • Oracle: ojdbc8.jar
    • SQL Server: mssql-jdbc-7.2.2.jre8.jar
    • PostgreSQL: postgresql-42.2.6.jar
  2. Comprimere i file JAR in un unico file compresso.

    Se si dispone di un driver JDBC che dispone di un solo file JAR, ignorare questo passo.

  3. Prendere nota della posizione in cui è memorizzato il programma di controllo. Devi specificare la directory in cui archiviare questo file JAR o compresso nella procedura successiva in modo che Discovery possa caricarlo.

Connessione a un'origine dati del database

Prima di iniziare, se si prevede di applicare gli arricchimenti ai dati, creare la raccolta in un tipo di progetto Content Mining. Se stai utilizzando un tipo di progetto e un piano differenti per applicare gli arricchimenti, fermati qui. Per ulteriori informazioni, vedi Applicazione degli arricchimenti al contenuto da un database.

Dal tuo progetto Discovery, completa la seguente procedura:

  1. Dal riquadro di spostamento, scegliere Gestisci raccolte.

  2. Fare clic su Nuova raccolta.

  3. Fare clic su Database e poi su Avanti.

  4. Denominare la raccolta.

  5. Se la lingua dei documenti nel database non è l'inglese, selezionare la lingua appropriata.

    Per un elenco delle lingue supportate, vedi Supporto linguistico.

  6. Facoltativo: modificare la pianificazione della sincronizzazione.

    Per ulteriori informazioni, vedi Opzioni di pianificazione della ricerca per indicizzazione.

  7. Completate i seguenti campi nella sezione Inserisci le tue credenziali:

    URL database

    L'indirizzo URL del server di database.

    La seguente tabella mostra gli URL del database di esempio:

    URL del database di esempio
    Database Sintassi Esempio
    Data virtualization (stesso 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 separato) 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
    Utente

    Il nome utente ottenuto dal database selezionato. Usi questo nome utente per eseguire la ricerca per indicizzazione dell'origine. Il tuo nome utente è diverso da un database all'altro.

    Password

    La password associata al nome utente. La tua password è diversa da un database all'altro.

  8. Completare i seguenti campi nella sezione Impostazioni di connessione:

    Tipo di driver JDBC

    Scegliere il database.

    Db2 è selezionato per impostazione predefinita. Se si desidera eseguire il crawling da un tipo di database non elencato, selezionare ALTRO. Per eseguire la ricerca per indicizzazione dei dati gestiti da Data Virtualization su IBM Cloud Pak for Data, mantenere Db2 selezionato.

    Nome classe del driver JDBC

    Il nome della classe del driver JDBC associato con il database selezionato. Questo campo viene compilato automaticamente, a meno che non si selezioni ALTRO.

    Percorso classi del driver JDBC

    Caricare un file del driver JDBC, che può avere un'estensione.jar o.zip. In alternativa, puoi riutilizzare un file .jar o .zip che hai caricato in precedenza.

  9. Completare i campi riportati di seguito nella sezione Specifica cosa si desidera sottoporre a ricerca per indicizzazione, quindi fare clic su Aggiungi:

    Nome schema
    Lo schema su cui si desidera eseguire la ricerca per indicizzazione.
    Nome tabella
    La tabella all'interno di uno schema che si desidera sottoporre a ricerca per indicizzazione.

    Fare clic sull'icona di modifica per specificare ulteriori impostazioni di ricerca per indicizzazione della tabella, tra cui:

    Chiave primaria
    La chiave principale della tabella del database di destinazione. Se la chiave primaria non è configurata nella tabella del database di destinazione, è necessario specificare la chiave in questo campo. Il crawler del database JDBC aggiunge questo valore di chiave primaria all'URL di ciascuna riga sottoposta a ricerca per indicizzazione per mantenerne l'unicità. Quando la chiave primaria è una chiave composita, concatena i nomi delle chiavi utilizzando una virgola, ad esempio key1,key2. Se non specificata, il progetto utilizza i campi della chiave primaria della tabella per impostazione predefinita. Se la chiave primaria è configurata nella tabella del database di destinazione, questa chiave viene rilevata automaticamente.
    Filtro riga
    Facoltativo. Specificare la clausola SQL WHERE per indicare quali righe della tabella sottoporre a ricerca per indicizzazione. È necessario specificare un'espressione booleana che possa essere la condizione di una clausola WHERE in una istruzione SELECT. Se si verifica un errore nella sintassi o nei nomi delle colonne, la tabella viene esclusa dalla ricerca per indicizzazione e non viene indicizzato alcun documento.
    Colonna con dati da estrarre
    Nome della colonna con i dati su cui si desidera eseguire la ricerca per indicizzazione. Se non si specifica la colonna, viene scelta una colonna con testo o con un singolo LOB (large object) da sottoporre a ricerca per indicizzazione.
    Tipo di dati MIME
    Facoltativo. Il tipo MIME viene rilevato se non specificato.

    I valori specificati nella finestra di dialogo delle impostazioni di ricerca per indicizzazione delle tabelle non vengono visualizzati con i nomi di schema e tabelle, ma i valori vengono applicati alla connessione al database.

    I campi Colonna con dati da estrarre e Tipo MIME di dati sono stati aggiunti con la release 4.6.5.

  10. Se si desidera che il crawler estragga il testo dalle immagini nei documenti, espandere Ulteriori impostazioni di elaborazionee impostare Applica OCR (optical character recognition) su On.

    Quando OCR è abilitato e i tuoi documenti contengono immagini, l'elaborazione richiede più tempo. Per ulteriori informazioni, consultare Riconoscimento dei caratteri ottici.

  11. Fai clic su Finish.

La raccolta viene creata rapidamente. È necessario più tempo per l'elaborazione dei dati man mano che vengono aggiunti alla raccolta.

Se si desidera controllare l'avanzamento, andare alla pagina Attività. Dal riquadro di navigazione, fare clic su Gestisci raccolte, quindi fare clic per aprire la raccolta.

Utilizzo dell'autenticazione Windows in Linux

Il driver JDBC di Microsoft non supporta l'autenticazione Windows su Linux. Se si desidera utilizzare l'autenticazione Microsoft Windows per accedere a SQL Server su Linux, è possibile utilizzare un driver JDBC di terze parti denominato jTDS da Sourceforge. Specificare i seguenti valori durante la configurazione:

  • URL database: jdbc:jtds:sqlserver://<host>:<port>;databaseName=<database>;domain=<domain>;useNTLMv2=true;
  • JDBC tipo di driver: OTHER
  • JDBC nome della classe del driver: net.sourceforge.jtds.jdbc.Driver

Applicazione di arricchimenti al contenuto da un database

Se si utilizza un database come origine dati e si desidera applicare arricchimenti ai campi nidificati indicizzati dal database, è necessario utilizzare un tipo di progetto Content Mining.

Se l'obiettivo è quello di creare un'applicazione di ricerca utilizzando un tipo di progetto Document Retrieval, creare prima un tipo di progetto Content Mining. Dal progetto Content Mining, è possibile connettersi al database e arricchire i dati. Quindi, è possibile riutilizzare la raccolta arricchita da un progetto Document Retrieval.

Per arricchire il contenuto del database per l'uso in un progetto Document Retrieval, completare la seguente procedura:

  1. Creare un progetto Content Mining.

    Per ulteriori informazioni, vedere Creazione di un progetto.

  2. Collegarsi a un'origine dati del database.

    Per ulteriori informazioni, consultare Configurazione di un'origine dati: Database.

  3. Applica arricchimenti.

    Per ulteriori informazioni, fare riferimento ai seguenti argomenti:

  4. Creare un progetto di richiamo documenti.

    Per ulteriori informazioni, vedere Creazione di un progetto.

    Quando viene richiesto di selezionare una raccolta, scegliere Riutilizza dati da una raccolta esistente. Se necessario, scorrere per visualizzare questa opzione.

  5. Selezionare la raccolta creata e arricchita utilizzando il progetto Content Mining, quindi fare clic su Fine.