サイドカーまたはEmbedded モードのElasticsearchの使用
ZIPファイルまたはDockerイメージを介してインストールされたLiferay Tomcatバンドルには、Liferayで始まるElasticsearchノードが含まれています。 Liferay 7.3+ と 7.4+ のノードはサイドカーサーバーとして別のJVMで動作し、Liferay 7.2 のノードはLiferayサーバーに埋め込まれています。
Elasticsearchサーバーには、次のURLからアクセスできます。
- http://localhost:9201 Liferay 7.3+および7.4+の場合
- http://localhost:9200 Liferay 7.2
サイドカーサーバーの出力例は次のとおりです。
バンドルされているElasticsearchサーバーは開発とテストには便利ですが、どちらも本番環境には適していません。
本番環境でサポートされている構成ではありませんが、KibanaをインストールしてバンドルされているElasticsearchサーバーを監視することは、開発やテストの際に役立ちます。
- Liferay 7.3 では、 OSS のみの Kibana ビルド をインストールします。
- Liferay DXP 7.4 U17+ および Liferay Portal 7.4 GA17+ では、無料版の Kibana をインストールしてください。
セットアップでエラーが発生した場合は、 トラブルシューティングのセクションを参照してください。
HSQLのような組み込みデータベースを本番環境で実行したり、バンドルされたElasticsearchサーバーを本番環境で実行したりしないでください。 代わりに、Elasticsearchをスタンドアロンサーバーまたはサーバーノードのクラスターとしてリモートモードで実行します。
検索チューニングアプリ 同義語セット と 結果ランキング は、Liferay 7.2と7.3のプライマリデータストレージに検索インデックスを使用しました。 これらのアプリのデータは、Liferayのデータベースには保存されていません。 そのため、Liferay 7.2や7.3でサイドカーやEmbedded モードのElasticsearchを使用中に同義語セットや結果ランキングを設定した場合、リモートElasticsearchサーバーに切り替えて再インデックス化しても、それらの設定は復元 されません 。 その代わり、同義語セットと結果ランキングをリモートのElasticsearchクラスタに手動で取り込む必要があります。 Elastic の Snapshot and Restore 機能を使用してこれらのインデックスを保存する方法については、 アップグレードガイド を参照してください。
バンドルされているElasticsearchサーバーのユースケース
デフォルトのElasticsearchサーバー(サイドカーおよびEmbedded)の一般的な使用法は次のとおりです。
- カスタムの 検索機能とインデックスコード のテスト
- Kibanaを介してElasticsearchで直接クエリを実行して検索クエリを開発する
- 検索の調整 機能のテスト
- 検索ウィジェット の調査と設定
アプリサーバーの違い
Liferay 7.4 (DXP、Portal)、Liferay DXP 7.3、Liferay Portal 7.3 GA4+ では、Elasticsearch サイドカーサーバーが Tomcat バンドルと Docker イメージに同梱されています。 サポートされているアプリケーションサーバーにLiferay WARをインストールする場合、いくつかの重要な違いがあります。
以下の表では、_7.3+_という表記はLiferay 7.4(DXPとPortal)を含みます。
Liferay DXPのフレーバー | デフォルトのElasticsearch | 事前インストール | 手動による介入が必要 |
---|---|---|---|
Tomcatバンドル:7.3以降 | サイドカー | ✔ | ✘ |
Tomcat:7.3以降 | サイドカー | ✘ | ✘ (自動ダウンロードされました) |
Docker: 7.3以降 | サイドカー | ✔ | ✘ |
JBoss:7.3以降 | サイドカー | ✘ | ✘ (自動ダウンロードされました) |
Wildfly:7.3以降 | サイドカー | ✘ | ✘ (自動ダウンロードされました) |
WebSphere:7.3以降 | サイドカー | ✘ | ✔ |
Weblogic:7.3以降 | サイドカー | ✘ | ✔ |
すべてのフレーバー:7.2/7.3 GA3- | (それは、) | ✔ | ✘ |
Tomcat以外のアプリケーションサーバーのバンドルをダウンロードした場合、サーバーを起動すると、Elasticsearchディストリビューションがオンザフライでダウンロードされ、サイドカーサーバーとして起動されます。
WebSphere および Weblogic アプリケーションサーバーへの Liferayのインストール手順には、サイドカーサーバーを初期化するために必要な Elasticsearchアーカイブを手動で提供する手順が含まれています。
バンドルされているElasticsearchサーバは、開発およびテスト目的に有用であり、本番環境では使用しないでください。 リモート検索エンジンのインストールについては、 Elasticsearchのインストール を参照してください。
Embeddedとサイドカーの比較
ElasticsearchサーバーのEmbeddedモードとサイドカーモードの比較を次に示します。
Embedded | サイドカー |
---|---|
安全な接続を構成できません | 安全な接続を構成できません |
ElasticsearchのOSSバージョンを使用します | Liferay 7.3は、OSSバージョンのElasticsearchを使用し、 Liferay DXP 7.4 U17とLiferay Portal 7.4 GA17ではOSS Elasticsearchを使用しなくなりました。 |
http://localhost:9200 | http://localhost:9201 |
すべてのLiferayディストリビューションに事前インストールされています | 常に事前インストールされているわけではありません |
本番環境ではサポートされていません | 本番環境ではサポートされていません |
アプリサーバーに特別な手順は必要ありません | 一部のアプリサーバー では追加の手順が必要です |
サイドカー/Embedded モードのElasticsearchのトラブルシューティング
これらのエラーは、起動時のElasticsearch Sidecarのインストールに問題があることを示しています。
このようなエラーを解決するには
-
Liferayを停止します。
-
Liferay Home]/elasticsearch-sidecar/
または[Liferay Home]/elasticsearch7
を削除します。 このフォルダーには、Sidecar Elasticsearchランタイムが含まれています。 -
Liferay Home]/data/elasticsearch7
を削除します。 このフォルダーには、インデックスデータが含まれています。 -
Liferayを再起動します。
-
ポータルは、 選択したアプリケーションサーバー (例: Tomcatなど)上で、起動時にElasticsearchランタイムをダウンロードし、展開します。