Fess 15が正式にリリースされました。 本稿では既存環境からFess 15へ移行する手順を、次の2つの方法で解説します。
ご自身の運用環境に合わせて選択してください。
1. バックアップ・リストア方式
新しい環境にFess 15を構築し、設定とインデックスを移行する方法です。
バックアップファイルの取得
旧環境の管理画面から以下のファイルをダウンロードします。管理画面の左メニュー「システム情報」>「バックアップ」の画面で該当のファイル名をクリックするとダウンロードできます。
● fess_basic_config.bulk
● fess_user.bulk
● system.properties
fess_config.propertiesの取得
fess_config.properties
の設定を変えずに利用している場合は、この手順は不要です。設定を変更して運用している場合は、以下の場所から取得してください。
/etc/fess/fess_config.properties
app\WEB-INF\classes\fess_config.properties
新環境のセットアップ
新環境にFess 15.0.0をインストールします。インストール手順は、Fessインストールガイドを参照してください。
fess_config.propertiesの更新
旧環境の設定内容を確認して、新環境でも利用したい設定は新環境のfess_config.properties
に反映します。fess_config.properties
はバージョンが上がるごとに、既存の設定値の修正や新規設定の追加などがされているので、インストールした環境のfess_config.properties
をベースに更新してください。
Linuxの場合は/etc/fess/fess_config.properties
、Windowsの場合はapp\WEB-INF\classes\fess_config.properties
のファイルを修正してください。
Fessの起動
新環境のFessを起動します。
bulkファイルのリストア
新環境の管理画面にログイン後、左メニュー「システム情報」>「バックアップ」の画面で、以下のファイルをアップロードします。
● fess_basic_config.bulk
● fess_user.bulk
system.propertiesの更新
bulkファイルと同様、「バックアップ」の画面で、system.properties
をアップロードしてください。
リストア後の確認
クロール設定・ユーザー情報が正しく引き継がれていることを確認してください。問題がなければ、クロールジョブを実行して、クロールを開始します。
2. 既存インデックス再利用方式
Docker Composeで構築している環境で、既存インデックスはそのまま利用し、compose.yaml内のバージョンのみ変更してアップグレードする方法になります。今回の環境は、Fess 14.19.2で構築した環境からFess 15.0.0にアップグレードする場合の手順を紹介します。
Fessが提供する、以下のcomposeファイルはgithub.com/codelibs/docker-fessから取得することができます。
● compose.yaml
● compose-opensearch3.yaml
(Fess 14ではcompose-opensearch2.yaml
を利用)Docker Compose環境で設定をカスタマイズして利用する場合、Fessのコンテナ内の/opt/fess/
ディレクトリをマウントして、fess_config.properties
を配置します。例えば、ホスト側の./data/fess/opt/fess
ディレクトリにfess_config.properties
を置いてマウントしている場合、compose.yaml
では以下のように指定します。
volumes:
- ./data/fess/opt/fess:/opt/fess
コンテナ停止
以下のコマンドでコンテナを停止してください。
docker compose -f compose.yaml -f compose-opensearch2.yaml down
fess_config.propertiesの更新
新環境でも設定を変更したい場合は、fess_config.properties
の内容を旧環境と新環境で比較し、必要な設定を新環境のfess_config.properties
に反映します。旧環境のfess_config.properties
をそのまま利用すると、バージョンによっては意図しない動きをする可能性があるので、新環境のバージョンのfess_config.properties
を取得してから内容を反映してください。
以下のように、旧設定をバックアップ後、新環境のバージョンのfess_config.properties
を取得します。取得したfess_config.properties
に設定を反映してください。
cp ./data/fess/opt/fess/fess_config.properties ./data/fess/opt/fess/fess_config.properties.bak
curl -o ./data/fess/opt/fess/fess_config.properties https://raw.githubusercontent.com/codelibs/fess/refs/tags/fess-15.0.0/src/main/resources/fess_config.properties
Docker Composeのイメージ更新
composeファイル内のバージョン番号を更新します。
● compose.yaml
image: ghcr.io/codelibs/fess:14.19.2
↓
image: ghcr.io/codelibs/fess:15.0.0
● compose-opensearch2.yaml
(OpenSearch 3を使用するため、ファイル名をcompose-opensearch3.yaml
に変更)
image: ghcr.io/codelibs/fess-opensearch:2.19.1
↓
image: ghcr.io/codelibs/fess-opensearch:3.0.0
Fessの起動
Fessを起動します。
$ docker compose -f compose.yaml -f compose-opensearch3.yaml up -d
FessとOpenSearchのバージョンが更新されていることを確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a93dd42d155 ghcr.io/codelibs/fess:15.0.0 "/usr/share/fess/run…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp fess01
ea29ddb12e87 ghcr.io/codelibs/fess-opensearch:3.0.0 "./opensearch-docker…" 3 minutes ago Up 3 minutes 9300/tcp, 9600/tcp, 0.0.0.0:9200->9200/tcp, 9650/tcp search01
起動後の確認
旧インデックスが存在し、検索可能であることを確認します。また、fess_config.properties
やsystem.properties
の変更が反映されていることを確認してください。
再インデクシング
管理画面にログイン後、左メニューの「システム情報」>「メンテナンス」をクリックします。「エイリアスの更新」項目の「有効」にチェックを入れてから「開始」ボタンをクリックし、再インデクシングを開始します。
左メニューの「ダッシュボード」をクリックし、「fess.yyyyMMddHHmmssSSS」のインデックスを探します。インデックスが見当たらない場合は「>>」で表示を切り替えてください。古い日付「fess.yyyyMMddHHmmssSSS」のインデックスと、新しい日付「fess.yyyyMMddHHmmssSSS」のインデックス「docs」の数が同じになるまで待ちます。
「docs」の数が同じになっていることを確認したら、日付が古い方の「fess.yyyyMMddHHmmssSSS」インデックスの「▼」を選択して、「delete index」をクリックします。確認ダイアログが表示されるので、「DELETE」をクリックします。
* * *
本稿では、既存環境からFess 15.0.0へのアップグレード手順を解説しました。
Fessはバージョンアップの際、設定ファイルやインデックス管理方法などが変更されることがあります。アップグレード時は新旧の差異をしっかり確認し、ご自身の運用状況に応じて適切な方法を選択することで、スムーズかつ安全に移行作業を進めることができます。