概述
Backup API是用于参照和下载 Fess 备份对象数据的API。 可以获取备份对象的列表,以及下载单个备份文件(系统属性、各索引的批量数据、日志的NDJSON数据)。
此API仅供参照和下载(只读)使用。上传备份文件并进行恢复的还原功能不通过API提供,如需还原,请通过管理界面的系统信息 → 备份进行操作。
基础URL
认证
与其他Admin API相同,需要通过访问令牌进行认证。访问令牌需要具备 Radmin-api 权限(通过 api.admin.access.permissions 设置,默认值为 Radmin-api)。 在请求头中指定访问令牌。
有关认证及访问令牌获取方式的详细信息,请参阅 Admin API 概述。
端点列表
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /files | 获取备份对象列表 |
| GET | /file/{id} | 下载备份文件 |
获取备份对象列表
返回备份对象的列表。对象基于 index.backup.targets 和 index.backup.log.targets 的设置,返回两者合并后的列表。
请求
响应
files 中存放表示备份对象的对象数组,total 中存放数量。 每个对象具有 id 和 name,二者均设置为对象名(如 fess_config.bulk、system.properties、search_log.ndjson 等)。
以下是默认设置(index.backup.targets 和 index.backup.log.targets 为默认值)时的示例。
Note
version 中设置的是当前运行的 Fess 的产品版本。files 的内容会根据 index.backup.targets / index.backup.log.targets 的设置而变化, 上述内容为默认值时的示例。
下载备份文件
下载指定备份文件的内容。{id} 中指定获取列表时得到的 id(对象名)。 根据 {id} 的种类,响应内容会按如下方式切换。
| ID | 内容 |
|---|---|
system.properties | 系统属性的内容(application/octet-stream) |
fess.json / doc.json | 索引的映射定义文件(fess_indices/fess.json / fess_indices/fess/doc.json)本身,按原样返回(application/octet-stream) |
*.bulk 或不带扩展名的索引名 | 对与对象名同名的索引进行滚动(scroll)生成的批量数据(application/octet-stream)。去除 .bulk 后的名称作为索引名处理。 |
*.ndjson (search_log / user_info / click_log / favorite_log / chat_log) | 对应日志的NDJSON数据(application/x-ndjson) |
Note
此API仅提供下载。包括 fess.json 和 doc.json 在内的备份文件的还原(上传) 请使用管理界面的系统信息 → 备份。
如果指定了不存在于备份对象中的 {id},将返回 status 为非0值且包含错误消息(Could not find any backup index.)的错误响应。
请求
Note
如果 {id} 中包含点( . ),例如 fess_config.bulk 、 system.properties 、 fess.json 、 search_log.ndjson ,请在 URL 末尾加上 / (例如 /api/admin/backup/file/fess_config.bulk/ )。不以 / 结尾且最后一段包含点的路径会被视为 对带扩展名文件的请求,不会到达 API,并返回 404 Not Found。
响应
备份文件的流。NDJSON格式时以 Content-Type: application/x-ndjson 返回,其他情况以 application/octet-stream 返回。
Note
日志(*.ndjson)的导出受 index.backup.log.load.timeout(默认值 60000 毫秒)的限制。 如果输出耗时较长,日志数据可能会被中途截断。
使用示例
获取备份对象列表
下载配置索引
下载搜索日志
参考信息
Admin API 概述 - Admin API概述
Log API - 日志API