Documentation

Elasticsearch 7へのアップグレード

Elasticsearch 7は、Liferay7.3では標準サポートされています。 特定のバージョンの互換性の詳細については、 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をインストールし、インストールガイドに従います。

重要

Before upgrading Elasticsearch, back up your existing data. If something goes wrong during or after the upgrade, roll back to the previous version using the uncorrupted index snapshots. Follow the steps in Backing up 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. すべての検索インデックスとスペルチェックインデックスを再作成します。

  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がElasticsearchクラスターに接続されたら、該当するインデックスを新しいElasticsearchのインストールに再インデックスします。

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

  2. ワークフロー統計情報インデックス を再作成します。グローバルメニュー(Global Menu)から、 [Applications] → [Workflow---Metrics] に移動します。 設定メニュー(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 7.3で利用できる新しい検索機能を参照してください。