Descripcion general
Groovy es el lenguaje de scripting predeterminado de Fess. Se ejecuta en la maquina virtual Java (JVM) y permite escribir scripts con una sintaxis mas concisa mientras mantiene alta compatibilidad con Java.
Sintaxis basica
Declaracion de variables
Operaciones de cadenas
Operaciones de colecciones
Estructuras condicionales
Bucles
Scripts de Data Store
Ejemplos de scripts en configuracion de data store.
Mapeo basico
Generacion de URL
Procesamiento de contenido
Procesamiento de fechas
Objetos disponibles
Los objetos disponibles en los scripts varian segun el contexto de ejecucion.
| Contexto | Objeto | Descripcion |
|---|---|---|
| Todos los contextos | container | Contenedor DI. Se usa para acceder a los componentes |
| Trabajos programados | executor | Control de ejecucion de trabajos ( JobExecutor ). Necesario para el soporte de detencion de trabajos |
| Data Store | (especifico del conector) | Variables de registro de datos proporcionadas por cada data store |
Scripts de trabajos programados
Ejemplos de scripts Groovy para trabajos programados. En los trabajos programados, container y executor estan disponibles. Pasar executor al metodo execute() del trabajo habilita el control de detencion del trabajo.
Ejecucion de trabajo de crawl
Crawl condicional
Ejecucion secuencial de multiples trabajos
Uso de clases Java
Dentro de los scripts Groovy, puede usar la biblioteca estandar de Java y las clases de Fess.
Fecha y hora
Operaciones de archivo
Comunicacion HTTP
Advertencia
El acceso a recursos externos afecta el rendimiento, mantengalo al minimo necesario.
Acceso a componentes de Fess
Puede acceder a los componentes de Fess usando container.
System Helper
Obtencion de valores de configuracion
Ejecucion de busqueda
Manejo de errores
Depuracion y salida de logs
Salida de logs
Salida de depuracion
Mejores practicas
Mantenerlo simple: Evitar logica compleja, escribir codigo legible
Verificacion de null: Usar operadores
?.y?:Manejo de excepciones: Manejar errores inesperados con try-catch apropiado
Salida de logs: Registrar logs para facilitar la depuracion
Rendimiento: Minimizar acceso a recursos externos
Informacion de referencia
Descripcion general de scripting - Descripcion general de scripting
Rastreo de Almacén de Datos - Guia de configuracion de Data Store
Programador de Tareas - Guia de configuracion del programador