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 les suivantes :
|
| 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 des 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
Extrayez 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. Conservez-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 balayage complet, un titre de champ de contenu et des définitions de colonne.
# 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 la section Guide de référence des paramètres de configuration. Pour les paramètres courants, consultez la section 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. Les autres erreurs, telles que la syntaxe SQL non valide, 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 répertorie 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. L'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 planifications incrémentielles. L'espace réservé "?" est obligatoire pour représenter une valeur d'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 de 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. |