Apercu
Le connecteur de base de donnees fournit une fonctionnalite pour recuperer des donnees depuis des bases de donnees relationnelles compatibles JDBC et les enregistrer dans l’index de Fess.
Cette fonctionnalite necessite le plugin fess-ds-db.
Bases de donnees prises en charge
Toutes les bases de donnees compatibles JDBC sont prises en charge. Exemples principaux :
MySQL / MariaDB
PostgreSQL
Oracle Database
Microsoft SQL Server
SQLite
H2 Database
Prerequis
Un pilote JDBC est necessaire
Un acces en lecture a la base de donnees est requis
Pour les grands volumes de donnees, une conception de requete appropriee est importante
Installation du pilote JDBC
Placez le pilote JDBC dans le repertoire lib/ :
Redemarrez Fess pour charger le pilote.
Methode de configuration
Configurez depuis l’interface d’administration : « Crawler » -> « DataStore » -> « Nouveau ».
Configuration de base
| Element | Exemple de configuration |
|---|---|
| Nom | Products Database |
| Nom du handler | DatabaseDataStore |
| Actif | Oui |
Configuration des parametres
Exemple MySQL/MariaDB :
Exemple PostgreSQL :
Liste des parametres
| Parametre | Requis | Description |
|---|---|---|
driver | Oui | Nom de classe du pilote JDBC |
url | Oui | URL de connexion JDBC |
username | Oui | Nom d’utilisateur de la base de donnees |
password | Oui | Mot de passe de la base de donnees |
sql | Oui | Requete SQL pour la recuperation des donnees |
fetch_size | Non | Taille de fetch (defaut : 100) |
Configuration du script
Mappez les noms de colonnes SQL vers les champs d’index :
Champs disponibles :
data.<column_name>- Colonnes du resultat de la requete SQL
Conception des requetes SQL
Requetes efficaces
Pour les grands volumes de donnees, les performances de requete sont importantes :
Exploration incrementale
Methode pour recuperer uniquement les enregistrements mis a jour :
Generation d’URL
L’URL du document est generee par le script :
Prise en charge des caracteres multi-octets
Pour traiter des donnees contenant des caracteres multi-octets comme le francais :
MySQL
PostgreSQL
PostgreSQL utilise generalement UTF-8 par defaut. Si necessaire :
Pooling de connexions
Pour le traitement de grands volumes de donnees, envisagez le pooling de connexions :
Securite
Protection des identifiants de base de donnees
Avertissement
Ecrire les mots de passe directement dans les fichiers de configuration presente un risque de securite.
Methodes recommandees :
Utiliser des variables d’environnement
Utiliser la fonctionnalite de chiffrement de Fess
Utiliser un utilisateur en lecture seule
Principe du moindre privilege
Accordez uniquement les privileges minimum necessaires a l’utilisateur de la base de donnees :
Exemples d’utilisation
Recherche de catalogue de produits
Parametres :
Script :
Articles de base de connaissances
Parametres :
Script :
Depannage
Pilote JDBC introuvable
Symptome : ClassNotFoundException ou No suitable driver
Solution :
Verifiez que le pilote JDBC est place dans
lib/Verifiez que le nom de classe du pilote est correct
Redemarrez Fess
Erreur de connexion
Symptome : Connection refused ou erreur d’authentification
Points a verifier :
La base de donnees est-elle demarree ?
Le nom d’hote et le numero de port sont-ils corrects ?
Le nom d’utilisateur et le mot de passe sont-ils corrects ?
Configuration du pare-feu
Erreur de requete
Symptome : SQLException ou erreur de syntaxe SQL
Points a verifier :
Testez la requete SQL directement sur la base de donnees
Verifiez que les noms de colonnes sont corrects
Verifiez que les noms de tables sont corrects
Informations de reference
Apercu des connecteurs DataStore - Apercu des connecteurs DataStore
Connecteur CSV - Connecteur CSV
Connecteur JSON - Connecteur JSON
Présentation - Guide de configuration DataStore