Elasticsearch 7へのアップグレード
7.1と7.2
Liferay 7.3と7.4はElasticsearch 7をすぐにサポートします。 お使いの Liferay インストールで利用可能な最新の検索エンジンのバージョンは、 Search Engine Compatibility Matrix をご覧ください。
Liferay 7.2 では、Elasticsearch 7 は Liferay Connector to Elasticsearch 7 (version 3.x
) を介してサポートされています。 Liferay 7.3以降へのアップグレード、または既存の7.2検索エンジンをElasticsearch 7に移行する場合、Elasticsearchサーバーをアップグレードする必要があります。 新しいLiferay7.2システムをセットアップするには、Elasticsearch 7をインストールし、 インストールガイド に従います。
Elasticsearchをアップグレードする前に、既存のデータをバックアップしてください。 アップグレード中またはアップグレード後に何か問題が発生した場合は、破損していないインデックスのスナップショットを使用して以前のバージョンにロールバックしてください。 Elasticsearchのバックアップ の手順に従ってください。
既存のElasticsearchサーバー(またはクラスター)をElasticsearch 7にアップグレードするには、
-
検索の調整のアプリケーション固有のインデックスをバックアップします (同義語セットと結果ランキング)。
-
X-Pack Securityを使用している場合は、有効になっていることを確認してください。
xpack.security.enabled: true
セキュリティ設定の範囲の詳細については、 Elasticsearchの保護 を参照してください。
-
[7.2 only]. 同梱の Liferay Connector to Elasticsearch 6 をブラックリストに登録し、 install the Connector to Elasticsearch 7.
-
Connector to Elasticsearch 7を設定してElasticsearchに接続します。
-
Liferayを再起動し、すべての検索インデックスとスペルチェックインデックスを再作成します。
-
スナップショットから検索調整インデックスを復元します。 以前にこれらの機能を使用していた場合は、これらのインデックスにデータが保存されている可能性があります。
-
検索調整エントリが引き継がれていることを確認します。
Elasticsearchのアップグレード
ローリング再起動が可能なバージョン(6.8.x
)を使用している場合、 ローリングアップグレード を行うことが、Elasticsearchクラスタをアップグレードする推奨方法です。 それ以外の場合は、 フルクラスター再起動アップグレード ガイドに従ってください。
新しいElasticsearchサーバーをインストールし、アップグレード前のデータにインデックスしたい場合、Liferay データベースがアップグレード されると、UIから 再インデックス をトリガーすることで、ほとんどのLiferayインデックスを復元できます。 ただし、検索の調整(結果ランキングと同義語)インデックス、およびデータベースストレージにバックアップされていないカスタムインデックスは、 アップグレード前のインデックスのスナップショット から復元する必要があります。
Elasticsearch 6のブラックリストへの登録
これは、Liferay 7.2を実行している場合にのみ必要です。
-
以下の設定ファイルを作成します
com.liferay.portal.bundle.blacklist.internal.BundleBlacklistConfiguration.config
-
以下のコンテンツを指定します
blacklistBundleSymbolicNames=[ \ "com.liferay.portal.search.elasticsearch6.api", \ "com.liferay.portal.search.elasticsearch6.impl", \ "com.liferay.portal.search.elasticsearch6.spi", \ "com.liferay.portal.search.elasticsearch6.xpack.security.impl", \ "Liferay Connector to X-Pack Security [Elastic Stack 6.x] - Impl", \ "Liferay Enterprise Search Security - Impl" \ ]
-
ファイルをサーバーの
deploy
フォルダーにコピーしてデプロイします。
Liferayを再起動してインデックスを再作成する
LiferayがElasticsearchクラスターに接続されたら、Liferayを再起動し、該当するインデックスを新しいElasticsearchインストールに再インデックスします。
-
Liferayを再起動します。
-
会社、システム、およびスペルチェックのインデックスを再作成します。 グローバルメニュー()から、 コントロールパネル → 設定 → 検索 に移動します。 すべての検索インデックス(All Search Indexes)]項目の[再インデックス(Reindex)]をクリックします。
-
Workflow Metrics indexes : Global Menu () から Applications → Workflow—Metrics に移動します。 設定メニュー () を開き、 Reindex All をクリックします。 各仮想インスタンスについて、この作業を繰り返します。
これにより、Liferayデータベースに保存されているデータから作成されたインデックスが復元されます。 プライマリストレージとして使用されるインデックスを復元するには、 Elasticsearchのバックアップ を参照してください。
Liferay 7.2:Elasticsearch 6への復帰
Liferay 7.2を使用していて、Elasticsearch 7へのアップグレード中に回復不能な障害が発生した場合は、Elasticsearch 6にロールバックして再グループ化できます。
Elasticsearch 6と7は現在2つの別個のインストールであるため、この手順にはいくつかのステップが必要です。
-
Liferay Connector to Elasticsearch 7を停止します。
-
Elasticsearch 7 を停止し、Elasticsearch 6 の
elasticsearch.yml
とコネクタアプリが同じポート(デフォルトでは 9200)を使用するように設定されていることを確認してください。 -
インストールの
osgi
フォルダから Elasticsearch 6 用のブラックリスト設定ファイルを削除します。 -
Elasticsearchサーバーを起動してから、Liferay Connector to Elasticsearch 6を再起動します。
アップグレードが完了したら、 Liferayのバージョンで利用できる 新しい検索機能 をご覧ください。