Vous pouvez configurer Google Cloud Search afin qu'il découvre et indexe les données des bases de données de votre organisation grâce au connecteur de base de données Cloud Search.
Remarques importantes
Vous pouvez installer et exécuter le connecteur de base de données Cloud Search dans pratiquement tous les environnements permettant d'exécuter des applications Java, à condition que le connecteur ait accès à Internet et à la base de données.
Configuration requise
| Configuration requise | |
|---|---|
| Système d'exploitation | Windows ou Linux |
| Base de données SQL | Toutes les bases de données SQL associées à un pilote JDBC version 4.0 ou ultérieure, y compris :
|
| Logiciel | Pilote JDBC (téléchargement et installation séparés) |
Déployer le connecteur
Ces étapes décrivent comment installer le connecteur et le configurer pour indexer vos bases de données et renvoyer les résultats aux utilisateurs de Cloud Search.
Prérequis
Avant de déployer le connecteur, rassemblez les informations suivantes :
- Clé privée Google Workspace (contenant l'ID du compte de service). Consultez Configurer l'accès à l'API Cloud Search.
- ID de la source de données Google Workspace. Consultez Ajouter une source de données à la recherche.
Étape 1 : Télécharger et compiler le logiciel du connecteur de base de données
Clonez le dépôt du connecteur à partir de GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
Vérifiez la version sélectionnée :
$ git checkout tags/v1-0.0.3
Compilez le connecteur :
Pour ignorer les tests, utilisez$ mvn package
mvn package -DskipTests.Extrayez le fichier ZIP du connecteur dans votre répertoire d'installation :
$ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip $ cd google-cloudsearch-database-connector-v1-0.0.3
Étape 2 : Configurer le connecteur de base de données
Créez un fichier texte nommé
connector-config.properties(par défaut). Google recommande l'extension.propertiesou.config. Enregistrez-le dans le même répertoire que le connecteur.Ajoutez des paramètres sous forme de paires clé/valeur. Le fichier doit spécifier l'accès à la source de données et à la base de données, une instruction SQL de parcours complet, un titre de champ de contenu et des définitions de colonnes.
# Data source access api.sourceId=1234567890abcdef api.identitySourceId=0987654321lmnopq api.serviceAccountPrivateKeyFile=./PrivateKey.json # Database access db.url=jdbc:mysql://localhost:3306/mysql_test db.user=root db.password=passw0rd # Full traversal SQL statement db.allRecordsSql=select customer_id, first_name, last_name, phone from address_book # Column definitions and URL format db.allColumns=customer_id, first_name, last_name, phone db.uniqueKeyColumns=customer_id url.columns=customer_id # Content field contentTemplate.db.title=customer_id # Optional: ACLs defaultAcl.mode=fallback defaultAcl.public=true # Optional: traversal schedule schedule.traversalIntervalSecs=36000 schedule.performTraversalOnStart=truePour les paramètres spécifiques à la base de données, consultez le Guide de référence des paramètres de configuration. Pour les paramètres courants, consultez Paramètres de connecteur fournis par Google.
Étape 3 : Exécuter le connecteur de base de données
Exécutez le connecteur à partir de la ligne de commande :
java -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector [-Dconfig=mysql.config]
Le connecteur signale les erreurs de configuration et d'initialisation. D'autres erreurs, telles que les syntaxes incorrectes dans les instructions SQL, s'affichent lorsque le connecteur tente d'accéder à la base de données pour la première fois.
Guide de référence des paramètres de configuration
Cette section liste les paramètres utilisés dans le fichier de configuration du connecteur de base de données.
Paramètres d'accès à la source de données
| Paramètre | Paramètre |
|---|---|
| ID de la source de données | api.sourceId = source-ID
Obligatoire. ID de la source Cloud Search. |
| Compte de service | api.serviceAccountPrivateKeyFile = path
Obligatoire. Chemin d'accès au fichier de clé du compte de service. |
Paramètres d'accès à la base de données
| Paramètre | Paramètre |
|---|---|
| URL de la base de données | db.url = database-URL
Obligatoire. Chemin d'accès complet, par exemple : |
| Identifiants | db.user = usernamedb.password = password
Obligatoire. Un accès en lecture est nécessaire pour les enregistrements concernés. |
Paramètres de requête SQL de balayage
Le connecteur utilise des requêtes SQL SELECT pour parcourir les enregistrements.
- Balayage complet : lit tous les enregistrements configurés. Obligatoire pour l'indexation initiale et la réindexation périodique.
- Balayage incrémentiel : lit uniquement les enregistrements récemment modifiés. Nécessite des champs d'horodatage dans la base de données.
| Paramètre | Paramètre |
|---|---|
| Requête de balayage complet | db.allRecordsSql = SELECT columns FROM table
Obligatoire. Incluez toutes les colonnes utilisées pour le contenu, les ID et les LCA. |
| Requête de balayage incrémentiel | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
Obligatoire pour les plannings incrémentaux. Le "?" est un espace réservé obligatoire pour l'horodatage. |
Paramètres de définition des colonnes
| Paramètre | Paramètre |
|---|---|
| Toutes les colonnes | db.allColumns = column-1, column-2, ...
Obligatoire. Liste toutes les colonnes référencées dans les requêtes SQL. |
| Colonnes à clé unique | db.uniqueKeyColumns = column-1
Obligatoire. Définit l'ID unique de chaque enregistrement. |
| Colonne "Lien de l'URL" | url.columns = column-1
Obligatoire. Spécifie la colonne utilisée pour les résultats de recherche cliquables. |
Champs de contenu
| Paramètre | Paramètre |
|---|---|
| Colonne "Titre" | contentTemplate.db.title = column-name
Obligatoire. Priorité la plus élevée pour l'indexation de la recherche. |
| Définition des priorités | contentTemplate.db.quality.high = column-1
Attribuez aux colonnes une qualité élevée, moyenne ou faible. |