Documentation

Elasticsearch 7へのアップグレード

Elasticsearch 7は、最新のLiferay 7.2、7.3、7.4バージョンに標準でサポートされています。 特定のバージョンの互換性の詳細については、 Search Engine Compatibility Matrix を参照してください。

Liferay 7.2では、Elasticsearch 7は Liferay Connector to Elasticsearch 7 (バージョン3.x) を介してサポートされています。 Liferay 7.3以降へのアップグレード、または既存の7.2検索エンジンをElasticsearch 7に移行する場合、Elasticsearchサーバーをアップグレードする必要があります。 新しいLiferay7.2システムをセットアップするには、Elasticsearch 7をインストールし、インストールガイドに従います。

重要

Elasticsearchをアップグレードする前に、既存のデータをバックアップしてください。 アップグレード中またはアップグレード後に何か問題が発生した場合は、破損していないインデックスのスナップショットを使用して以前のバージョンにロールバックしてください。 Elasticsearchのバックアップの手順に従います。

既存のElasticsearchサーバー(またはクラスター)をElasticsearch 7にアップグレードするには、

  1. Liferay Companyとシステムインデックスをバックアップします

  2. 検索の調整のアプリケーション固有のインデックスをバックアップします (同義語セットと結果ランキング)。

  3. Elasticsearchをインストールして設定します

  4. Elasticsearchをアップグレードします

  5. X-Pack Securityを使用している場合は、有効になっていることを確認してください。

    xpack.security.enabled: true
    

    セキュリティ設定の範囲の詳細については、 Elasticsearchの保護 を参照してください。

  6. \ [7.2のみ] バンドルされているLiferay Connector to Elasticsearch 6をブラックリストに登録し 、Connector to Elasticsearch 7を インストール します。

  7. Connector to Elasticsearch 7を設定してElasticsearchに接続します。

  8. Liferayを再起動し、すべての検索インデックスとスペルチェックインデックスを再作成します。

  9. スナップショットから検索調整インデックスを復元します。 以前にこれらの機能を使用していた場合は、これらのインデックスにデータが保存されている可能性があります。

  10. 検索調整エントリが引き継がれていることを確認します。

Elasticsearchのアップグレード

ローリングリスタート対象バージョン(6.8.x)を使用している場合は、 ローリングアップグレード を実行してElasticsearchクラスターをアップグレードすることをお勧めします。 それ以外の場合は、 フルクラスター再起動アップグレード ガイドに従ってください。

新しいElasticsearchサーバーをインストールし、アップグレード前のデータにインデックスしたい場合、Liferayデータベースがアップグレードされると、UIから 再インデックス をトリガーすることで、ほとんどのLiferayインデックスを復元できます。 ただし、検索の調整(結果ランキングと同義語)インデックス、およびデータベースストレージにバックアップされていないカスタムインデックスは、 アップグレード前のインデックスのスナップショット から復元する必要があります。

Elasticsearch 6のブラックリストへの登録

これは、Liferay 7.2を実行している場合にのみ必要です。

  1. 以下の設定ファイルを作成します

    com.liferay.portal.bundle.blacklist.internal.BundleBlacklistConfiguration.config
    
  2. 以下のコンテンツを指定します

    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" \
    ]
    
  3. ファイルをサーバーのdeployフォルダにコピーしてデプロイします。

Liferayを再起動してインデックスを再作成する

LiferayがElasticsearchクラスターに接続されたら、Liferayを再起動し、該当するインデックスを新しいElasticsearchインストールに再インデックスします。

  1. Liferayを再起動します。

  2. 会社、システム、およびスペルチェックのインデックスを再作成します。 グローバルメニュー(Global Menu)から、 [コントロールパネル] → [設定] → [検索機能] に移動します。 [Reindex all search indexes] エントリの [実行] をクリックします。

  3. ワークフロー統計情報インデックス を再作成します。グローバルメニュー(Global Menu)から、 [アプリケーション] → [ワークフローメトリクス] に移動します。 設定メニュー(Options)を開き、 [すべてインデックスを再構築] をクリックします。 各仮想インスタンスについて、この作業を繰り返します。

これにより、Liferayデータベースに保存されているデータから作成されたインデックスが復元されます。 プライマリストレージとして使用されるインデックスを復元するには、 Elasticsearchのバックアップ を参照してください。

Liferay 7.2:Elasticsearch 6への復帰

Liferay 7.2を使用していて、Elasticsearch 7へのアップグレード中に回復不能な障害が発生した場合は、Elasticsearch 6にロールバックして再グループ化できます。

Elasticsearch 6と7は現在2つの別個のインストールであるため、この手順にはいくつかのステップが必要です。

  1. Liferay Connector to Elasticsearch 7を停止します。

  2. Elasticsearch 7を停止し、Elasticsearch 6 elasticsearch.yml とコネクタアプリが同じポート(デフォルトでは9200)を使用するように構成されていることを確認します。

  3. インストール先の osgi フォルダからElasticsearch 6のブラックリスト設定ファイルを削除します。

  4. Elasticsearchサーバーを起動してから、Liferay Connector to Elasticsearch 6を再起動します。

アップグレードが完了したら、 Liferayのバージョンで利用できる 新しい検索機能 をご覧ください。