Fess 15が正式にリリースされました。 本稿では既存環境からFess 15へ移行する手順を、次の2つの方法で解説します。

  • ●バックアップ・リストア方式(新規環境に移行する場合など)
  • ●既存インデックス再利用方式(Docker Composeでバージョンを変更する場合など)
  • ご自身の運用環境に合わせて選択してください。

    1. バックアップ・リストア方式

    新しい環境にFess 15を構築し、設定とインデックスを移行する方法です。

    バックアップファイルの取得

    旧環境の管理画面から以下のファイルをダウンロードします。管理画面の左メニュー「システム情報」>「バックアップ」の画面で該当のファイル名をクリックするとダウンロードできます。

  • ● fess_basic_config.bulk
  • ● fess_user.bulk
  • ● system.properties
  • fess_config.propertiesの取得

    fess_config.propertiesの設定を変えずに利用している場合は、この手順は不要です。設定を変更して運用している場合は、以下の場所から取得してください。

  • ●Linux:/etc/fess/fess_config.properties
  • ●Windows: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.propertiessystem.propertiesの変更が反映されていることを確認してください。

    再インデクシング

    管理画面にログイン後、左メニューの「システム情報」>「メンテナンス」をクリックします。「エイリアスの更新」項目の「有効」にチェックを入れてから「開始」ボタンをクリックし、再インデクシングを開始します。

    左メニューの「ダッシュボード」をクリックし、「fess.yyyyMMddHHmmssSSS」のインデックスを探します。インデックスが見当たらない場合は「>>」で表示を切り替えてください。古い日付「fess.yyyyMMddHHmmssSSS」のインデックスと、新しい日付「fess.yyyyMMddHHmmssSSS」のインデックス「docs」の数が同じになるまで待ちます。

    「docs」の数が同じになっていることを確認したら、日付が古い方の「fess.yyyyMMddHHmmssSSS」インデックスの「▼」を選択して、「delete index」をクリックします。確認ダイアログが表示されるので、「DELETE」をクリックします。


    * * *

    本稿では、既存環境からFess 15.0.0へのアップグレード手順を解説しました。

  • ●新規環境へ設定とデータを移行したい場合は、バックアップ・リストア方式が最適です。
  • ●Docker Compose環境などでインデックスをそのまま再利用したい場合は、composeファイルのバージョン変更方式が効率的です。
  • Fessはバージョンアップの際、設定ファイルやインデックス管理方法などが変更されることがあります。アップグレード時は新旧の差異をしっかり確認し、ご自身の運用状況に応じて適切な方法を選択することで、スムーズかつ安全に移行作業を進めることができます。