概述
Groovy是 Fess 的默认脚本语言。 它运行在Java虚拟机(JVM)上,与Java高度兼容, 同时可以使用更简洁的语法编写脚本。
基本语法
变量声明
字符串操作
集合操作
条件分支
循环处理
数据存储脚本
数据存储设置中的脚本示例。
基本映射
URL生成
内容加工
日期处理
可用对象
脚本中可用的对象因执行上下文而异。
| 上下文 | 对象 | 说明 |
|---|---|---|
| 所有上下文 | container | DI容器。用于访问组件 |
| 计划任务 | executor | 任务执行控制( JobExecutor )。任务停止支持所必需 |
| 数据存储 | (连接器特定) | 各数据存储提供的数据记录变量 |
计划任务脚本
计划任务中使用的Groovy脚本示例。 在计划任务中,container 和 executor 可用。 将 executor 传递给任务的 execute() 方法可启用任务停止控制。
执行爬取任务
条件爬取
顺序执行多个任务
使用Java类
在Groovy脚本中,可以使用Java标准库和Fess的类。
日期与时间
文件操作
HTTP通信
Warning
访问外部资源会影响性能, 请将其控制在最小限度。
访问Fess组件
可以使用 container 访问Fess的组件。
系统帮助器
获取配置值
执行搜索
错误处理
调试与日志输出
日志输出
调试输出
最佳实践
保持简单: 避免复杂逻辑,编写易读的代码
null检查: 活用
?.运算符和?:运算符异常处理: 使用适当的try-catch处理意外错误
日志输出: 输出日志以便于调试
性能: 最小化外部资源访问