Apercu
Dans Fess, vous pouvez utiliser des scripts pour implementer une logique personnalisee dans diverses situations. En utilisant des scripts, vous pouvez controler de maniere flexible le traitement des donnees lors du crawl, la personnalisation des resultats de recherche, l’execution de taches planifiees, etc.
Langages de script pris en charge
Fess prend en charge les langages de script suivants :
| Langage | Identifiant | Description |
|---|---|---|
| Groovy | groovy | Langage de script par defaut. Compatible avec Java et offre des fonctionnalites puissantes |
Note
Groovy est le plus largement utilise, et les exemples de cette documentation sont ecrits en Groovy.
Cas d’utilisation des scripts
Configuration du Data Store
Dans les connecteurs Data Store, les scripts sont utilises pour mapper les donnees recuperees aux champs d’index.
Mapping de chemin
Les scripts peuvent etre utilises pour la normalisation d’URL et la conversion de chemin.
Taches planifiees
Dans les taches planifiees, vous pouvez ecrire une logique de traitement personnalisee en script Groovy.
Syntaxe de base
Acces aux variables
Manipulation de chaines
Conditions
Manipulation de dates
Objets disponibles
Principaux objets utilisables dans les scripts :
| Objet | Description |
|---|---|
data | Donnees recuperees du data store |
container | Conteneur DI (acces aux composants) |
systemHelper | Helper systeme (container.getComponent("systemHelper")) |
fessConfig | Configuration de Fess (container.getComponent("fessConfig")) |
Securite
Avertissement
Les scripts ont des capacites puissantes, utilisez-les uniquement depuis des sources fiables.
Les scripts sont executes sur le serveur
L’acces au systeme de fichiers et au reseau est possible
Assurez-vous que seuls les utilisateurs avec droits d’administration peuvent modifier les scripts
Performance
Conseils pour optimiser les performances des scripts :
Eviter les traitements complexes : Les scripts sont executes pour chaque document
Minimiser l’acces aux ressources externes : Les appels reseau causent des delais
Utiliser le cache : Envisagez le cache pour les valeurs utilisees de maniere repetee
Debogage
Pour le debogage des scripts, utilisez la sortie de logs :
Configuration du niveau de log :
app/WEB-INF/classes/log4j2.xml :
Informations de reference
Guide de script Groovy - Guide de script Groovy
Présentation - Guide de configuration Data Store
Planificateur de tâches - Guide de configuration du planificateur