Descripcion general
En Fess, puede implementar logica personalizada usando scripts en varios escenarios. Al aprovechar los scripts, puede controlar de manera flexible el procesamiento de datos durante el crawl, la personalizacion de resultados de busqueda y la ejecucion de trabajos programados.
Lenguajes de scripting compatibles
Fess soporta los siguientes lenguajes de scripting:
| Lenguaje | Identificador | Descripcion |
|---|---|---|
| Groovy | groovy | Lenguaje de scripting predeterminado. Compatible con Java y proporciona funcionalidades potentes |
Nota
Groovy es el mas ampliamente utilizado, y los ejemplos en esta documentacion estan escritos en Groovy.
Casos de uso de scripting
Configuracion de Data Store
En los conectores de data store, se usan scripts para mapear los datos obtenidos a los campos del indice.
Mapeo de rutas
Puede usar scripts para normalizar URLs o transformar rutas.
Trabajos programados
En los trabajos programados, puede escribir logica de procesamiento personalizada en scripts Groovy.
Sintaxis basica
Acceso a variables
Operaciones de cadenas
Estructuras condicionales
Operaciones de fecha
Objetos disponibles
Principales objetos disponibles dentro de los scripts:
| Objeto | Descripcion |
|---|---|
data | Datos obtenidos del data store |
container | Contenedor DI (acceso a componentes) |
container.getComponent("systemHelper") | Helper del sistema |
container.getComponent("fessConfig") | Configuracion de Fess |
Seguridad
Advertencia
Los scripts tienen funcionalidades poderosas, por lo que solo uselos de fuentes confiables.
Los scripts se ejecutan en el servidor
Es posible el acceso al sistema de archivos y la red
Asegurese de que solo los usuarios con privilegios de administrador puedan editar scripts
Rendimiento
Consejos para optimizar el rendimiento de los scripts:
Evitar procesamiento complejo: Los scripts se ejecutan para cada documento
Minimizar acceso a recursos externos: Las llamadas de red causan latencia
Usar cache: Considere cache para valores usados repetidamente
Depuracion
Para depurar scripts, use la salida de logs:
Configuracion del nivel de log:
app/WEB-INF/classes/log4j2.xml:
Informacion de referencia
Guia de scripting Groovy - Guia de scripting Groovy
Rastreo de Almacén de Datos - Guia de configuracion de Data Store
Programador de Tareas - Guia de configuracion del programador