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 Connector の高度な構成 を参照してください。 これらの設定を使用していない場合は、変更する必要はありません。
-
Liferayを再起動します; 必要に応じて、すべての検索およびスペルチェックのインデックスを再インデックスします。
-
スナップショットから検索調整インデックスを復元します。 以前にこれらの機能を使用していた場合は、これらのインデックスにデータが保存されている可能性があります。
-
検索調整エントリが引き継がれていることを確認します。
Elasticsearchのアップグレード
ローリング再起動が可能なバージョンを使用している場合は、ダウンタイムを最小限に抑え、すべてのデータを再インデックスする必要がなくなるため、 ローリングアップグレード を実行することが Elasticsearch クラスターをアップグレードする推奨方法です。 それ以外の場合は、 フルクラスタ再起動アップグレード ガイドに従ってください。 スナップショットと復元方式を使用してインデックスをバックアップすれば、再インデックス作成を回避することもできます。 ただし、LiferayとElasticsearchを同時にアップグレードする場合は、マッピングと設定の変更に対応するために、必ずインデックスを再構築する必要があります。
新しい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 のバックアップ を参照してください。