概要
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 がデフォルト値)の場合の例です。
注釈
version には実行中の Fess の製品バージョンが設定されます。files の内容は index.backup.targets / index.backup.log.targets の設定によって変わるため、 上記は既定値での一例です。
バックアップファイルのダウンロード
指定したバックアップファイルの内容をダウンロードします。{id} には一覧取得で得られた id (対象名)を指定します。 {id} の種別によって、レスポンス内容が以下のように切り替わります。
| ID | 内容 |
|---|---|
system.properties | システムプロパティの内容(application/octet-stream) |
*.bulk または拡張子なしのインデックス名 | 対象名と同名のインデックスをスクロールして生成したバルクデータ(application/octet-stream)。.bulk を取り除いた名前をインデックス名として扱います。 |
*.ndjson (search_log / user_info / click_log / favorite_log) | 対応するログのNDJSONデータ(application/x-ndjson) |
注釈
fess.json と doc.json はインデックスのマッピング定義(スキーマ)ファイルです。 対象一覧(/files)には含まれますが、このAPIのダウンロードでは .bulk と同様に インデックスのスクロール処理として扱われます。マッピング定義を含むバックアップ/ リストアは管理画面の「システム情報」→「バックアップ」を利用してください。
バックアップ対象に存在しない {id} を指定した場合は、status に 0 以外の値とエラーメッセージ(Could not find any backup index.)を含むエラーレスポンスが返されます。
リクエスト
レスポンス
バックアップファイルのストリーム。NDJSON形式の場合は Content-Type: application/x-ndjson、それ以外は application/octet-stream で返されます。
注釈
ログ(*.ndjson)のエクスポートは index.backup.log.load.timeout (既定値 60000 ミリ秒) の制約を受けます。出力に時間がかかる場合、ログデータが途中で打ち切られることがあります。
使用例
バックアップ対象一覧の取得
設定インデックスのダウンロード
検索ログのダウンロード
参考情報
Admin API 概要 - Admin API概要
Log API - ログAPI