Elasticsearch 8へのアップグレード
7.4 U81+、7.3 U31+
Elasticsearch 8 は、最新の Liferay DXP Quarterly および Portal GA リリースですぐにサポートされ、推奨されています。 特定のバージョンの互換性の詳細については、 検索エンジン互換性マトリックスを参照してください。
- Elasticsearchをアップグレードする前に、既存のデータをバックアップしてください。 アップグレード中またはアップグレード後に何か問題が発生した場合は、破損していないインデックスのスナップショットを使用して以前のバージョンにロールバックしてください。 Elasticsearch のバックアップの手順に従います。
- 新しいElasticsearchクラスタをインストールし、アップグレードしたLiferayに接続することは可能ですが、ElasticsearchクラスタにLiferay DXP 7.2や7.3の検索の調整機能用のインデックスのようにプライマリストレージとして使用するインデックスがあった場合、一部のデータが失われる可能性があります。 Liferay 7.2 および 7.3 の検索チューニングインデックスのバックアップと復元 および 7.4 での検索チューニングインデックスのインポートを参照してください。。
既存のElasticsearch 7サーバー(またはクラスター)をElasticsearch 8にアップグレードするには、
-
すべての Liferay インデックスをバックアップします。 システムとバージョンによっては、追加のインデックスをバックアップする必要がある場合があります。 Elasticsearch のバックアップを参照してください。
-
X-Pack セキュリティを使用している場合、Elasticsearch 8 ではデフォルトで有効になっています。 無効にするには、次のプロパティを追加します。
xpack.security.enabled: falseセキュリティ構成の詳細については、 Elasticsearch のセキュリティ保護 を参照してください。
-
Liferay で Elasticsearch 接続を設定します。
注- Elasticsearch 7 にバンドルされているコネクタは、Elasticsearch の REST API 互換性を介して Elasticsearch 8 に接続します。 該当するシステム設定と構成ファイル名については、 コネクタリファレンスガイド を参照してください。
- Elasticsearch 8 では、 ドキュメント タイプが削除されました。 したがって、既存の追加のタイプマッピングとタイプマッピングのオーバーライドのコネクタ設定から
LiferayDocumentType宣言を削除する必要があります。 詳細については、 Liferay Elasticsearch コネクタの詳細設定 を参照してください。 これらの設定を使用していない場合は、変更する必要はありません。
-
Liferay を再起動します; 必要に応じて、すべての検索インデックスとスペルチェックインデックスを再作成します。
-
スナップショットから検索調整インデックスを復元します。 以前にこれらの機能を使用していた場合は、これらのインデックスにデータが保存されている可能性があります。
-
検索調整エントリが引き継がれていることを確認します。
Elasticsearchのアップグレード
ローリング再起動対応バージョンを使用している場合は、ダウンタイムを最小限に抑え、すべてのデータの再インデックス作成の必要性をなくすため、Elasticsearch クラスターをアップグレードするには ローリング アップグレード を実行することが推奨される方法です。 それ以外の場合は、 完全なクラスター再起動アップグレード ガイドに従ってください。 スナップショットと復元のアプローチを使用してインデックスをバックアップすると、再インデックスも回避できます。 ただし、Elasticsearch と一緒に Liferay をアップグレードする場合は、マッピングと設定の変更を考慮して、必ず再インデックスを行う必要があります。
新しい Elasticsearch サーバーをインストールした場合、Liferay データベースがアップグレードされたら、UI から 完全または同時再インデックス をトリガーすることで、ほとんどの Liferay インデックスを復元できます。
Liferay 7.2/7.3 では、検索チューニング (結果のランキングと同義語) インデックスとカスタム インデックスはデータベース ストレージによってバックアップされません。 Liferay 7.2/7.3 用に新しい Elasticsearch サーバーをセットアップする場合、または Liferay 7.2/7.3 からアップグレードして新しい Elasticsearch サーバーをセットアップする場合は、これらのインデックスを アップグレード前のインデックスのスナップショット から復元する必要があります。
Liferayを再起動してインデックスを再作成する
LiferayがElasticsearchクラスタに接続されたら、Liferayのデータを新しいElasticsearchのインストレーションに取り込むために、fullまたはconcurrent reindexを実行します。 場合によっては、再インデックスが不要なことがあります。
| アップグレードシナリオ | 再インデックスが必要です |
|---|---|
| Liferayはアップグレードされました Elasticsearchはアップグレードされていません | ✔ |
| Liferayがアップグレードされました Elasticsearchがアップグレードされました | ✔ |
| Elasticsearchはローリング再起動を使用してアップグレードされました Liferayはアップグレードされていません | ✘ |
| Elasticsearchは完全なクラスタ再起動を使用してアップグレードされました Liferayはアップグレードされていません | ✘ |
| Elasticsearch を最初からインストールしました。インデックスは復元されませんでした。 | ✔ |
シナリオで再インデックスが必要な場合は、次の手順に従ってください。
-
会社、システム、スペルチェックのインデックスを再作成します。 グローバル メニュー (
) から、 コントロール パネル → 構成 → 検索に移動します。 「すべての検索インデックスの再インデックス」エントリの 実行 をクリックします。 -
ワークフロー メトリック インデックスを再インデックスします。 グローバル メニュー (
) から、 アプリケーション → ワークフロー—メトリックに移動します。 設定メニュー(
)を開き、 「すべて再インデックス」をクリックします。 各仮想インスタンスについて、この作業を繰り返します。
これにより、Liferayデータベースに保存されているデータから作成されたインデックスが復元されます。 プライマリ ストレージとして使用されているインデックスを復元するには、「 Elasticsearch のバックアップ」を参照してください。