概述
JSON连接器提供从JSON文件或JSON API获取数据并注册到 Fess 索引的功能。
此功能需要 fess-ds-json 插件。
前提条件
需要安装插件
需要对JSON文件或API的访问权限
需要理解JSON的结构
插件安装
方法1: 直接放置JAR文件
方法2: 从管理界面安装
打开「系统」→「插件」
上传JAR文件
重启 Fess
配置方法
从管理界面的「爬虫」→「数据存储」→「新建」进行配置。
基本设置
| 项目 | 设置示例 |
|---|---|
| 名称 | Products JSON |
| 处理器名称 | JsonDataStore |
| 启用 | 开 |
参数设置
本地文件:
HTTP文件:
多个文件:
参数列表
| 参数 | 必需 | 说明 |
|---|---|---|
files | 是 | JSON文件路径或API URL(可指定多个:逗号分隔) |
fileEncoding | 否 | 字符编码(默认: UTF-8) |
脚本设置
简单JSON对象:
嵌套JSON对象:
数组元素处理:
可用字段
data.<字段名>- JSON对象的字段data.<父>.<子>- 嵌套对象data.<数组>[<索引>]- 数组元素data.<数组>.<方法>- 数组的方法(join、length等)
JSON格式详情
简单数组
参数:
嵌套结构
参数:
脚本:
复杂数组
参数:
脚本:
使用示例
产品目录API
API响应:
参数:
脚本:
博客文章API
API响应:
参数:
脚本:
多JSON文件整合
参数:
脚本:
故障排除
找不到文件
症状: FileNotFoundException 或 404 Not Found
确认事项:
确认文件路径或URL是否正确
确认文件是否存在
如果是URL,确认API是否正在运行
确认网络连接
JSON解析错误
症状: JsonParseException 或 Unexpected character
确认事项:
确认JSON文件格式是否正确:
确认字符编码是否正确
确认是否有非法字符或换行
确认是否包含注释(JSON标准不允许注释)
JSONPath错误
症状: 无法获取数据或结果为空
确认事项:
确认JSONPath语法是否正确
确认目标元素是否存在
使用测试工具验证JSONPath:
确认路径是否指向正确的层级
认证错误
症状: 401 Unauthorized 或 403 Forbidden
确认事项:
确认认证类型是否正确(bearer、basic)
确认认证令牌或用户名/密码是否正确
确认令牌的有效期
确认API的权限设置
无法获取数据
症状: 爬取成功但数量为0
确认事项:
确认JSONPath是否指向正确的元素
确认JSON结构
确认脚本设置是否正确
确认字段名是否正确(包括大小写)
在日志中确认错误信息
数组处理
JSON为数组的情况:
参数:
JSON为包含数组的对象的情况:
参数:
大型JSON文件
症状: 内存不足或超时
解决方法:
将JSON文件分割成多个
使用JSONPath只提取必要的部分
如果是API,使用分页
增加 Fess 的堆大小
API速率限制
症状: 429 Too Many Requests
解决方法:
增加爬取间隔
确认API的速率限制
使用多个API密钥进行负载均衡