Fessのインデックスエクスポートでは、保存先に書き込めなくてもジョブログが正常終了となり、取得した件数が出力件数として表示される場合がありました。保存先の事前検査と、実際に書き出した件数の集計を追加する修正がマージされました。
既存のHTML/JSONエクスポート機能に対する運用上の改善です。
保存先の初期値
開発版で確認した設定は次のとおりです。
| 設定 | 初期値 |
|---|---|
index.export.path | /var/lib/fess/export |
index.export.format | html |
index.export.exclude.fields | cache,tag |
index.export.scroll.size | 100 |
保存先の初期値は今回の修正でも変わりません。ZIP版を一般ユーザーで動かす場合、/var/lib/fess/exportへ書き込めないことがあります。Fess実行ユーザーが書き込める専用ディレクトリを用意し、環境に合わせて設定してください。
index.export.path=/home/fess/export
これは例のパスです。Fessプロセスから見える場所と権限を確認し、設定を反映してジョブを実行します。
修正後の結果の読み方
修正後は検索開始前にディレクトリを作成し、一時ファイルの作成・削除で書き込みを確認します。失敗するとindex.export.pathと保存先を含むエラーでジョブが失敗します。
一方、処理途中で個々の文書を書き出せない場合は、その件数を結果へ追加します。Exported N documents.は実際に書けた件数となり、URLがない文書などのスキップも出力件数へ含めません。事前検査の成功は全ファイルの成功を保証しないので、未出力件数とログを合わせて確認してください。
スケジュールの書き方
関連文書PR #599では、cronを5項目の形式へ訂正しています。毎日午前2時なら次の式です。
0 2 * * *
順番は「分 時 日 月 曜日」です。秒を含む6項目やQuartzの?は使いません。実行時刻はFess側のタイムゾーンに合わせて確認してください。
この変更はバックアップ復元機能ではありません。書き出し先の容量や古いファイルの整理も別途運用し、終了状態だけでなく実ファイルの有無と内容を確認してください。