Elasticsearch

Elasticsearchは、高度なスケーラビリティーを持つ、オープンソースの全文検索および分析エンジンです。

デフォルトでは、Elasticsearchは組み込みの検索エンジンとして起動しますが、本番環境では独立した別のサーバ、もしくはクラスターとしてだけサポートされています。このガイドでは、Elasticsearchをリモートモードで設定するプロセスについて説明します。

Solrを使用したい場合は、そちらもサポートされています。詳細は、Installing Solrのドキュメンテーションを参照してください 。

Elasticsearchをリモートサーバーとしてすばやく起動して実行するには、Elasticsearch のインストールという記事を参照してください。 そこでElasticsearchを単一サーバー環境にインストールして設定するための基本的な手順を説明しています。この記事では、Elasticsearchのクラスタリングとチューニングに関する詳細情報を紹介します。 まず、本番環境に既存のElasticsearchをインストールする設定について説明します。

検索エンジン全般、もしくはLiferay DXPの基本的な検索インフラに関する情報をお探しの場合は、開発者向けのチュートリアル資料 Liferayサーチをご参照ください。(現在作成中です)

以下はこの記事でよく使われる用語の説明です。

  • Elasticsearch Home : Elasticsearchインストール時の解凍済みファイルのルートフォルダを意味します (例: elasticsearch-6.5.1)。

  • Liferay Home ンストールしたLiferay DXPのルートフォルダです。osgideploydatalicense等のフォルダが含まれています。

Embeddedモードとリモートオペレーションモードの比較

Liferay DXPを起動すると、次のメッセージがログに表示されます。

2018-12-10 16:20:32.987 WARN  [Elasticsearch initialization thread][EmbeddedElasticsearchConnection:288] Liferay is configured to use embedded Elasticsearch as its search engine. Do NOT use embedded Elasticsearch in production. Embedded Elasticsearch is useful for development and demonstration purposes. Refer to the documentation for details on the limitations of embedded Elasticsearch. Remote Elasticsearch connections can be configured in the Control Panel.

Liferay DXPをインストールすると、Elasticsearchがデフォルトで組み込まれています。Embeddedモードでは、Elasticsearchは同じJVM内で実行されるため、最小限の設定でテスト運用ができます。両方のサーバーを同じプロセスで起動させるには以下の問題点があります。

  • ElasticsearchはLiferay DXPと同じJVMオプションを使用する必要があります。
  • Liferay DXPとElasticsearchはリソースをめぐって競合します。

注: これはサポートされている本番環境設定方法ではありませんが、EmbeddedモードのElasticsearchサーバーをモニターするためにKibanaをインストールすることは、開発およびテスト中に役立ちます。OSSのみのKibanaビルドをインストールする必要があることに注意してください 。

HSQLのような組み込みデータベースを本番環境で起動させないのと同様に、EnbeddedモードのElasticsearchを本番環境で利用するべきではありません。代わりに、スタンドアロンサーバ又はサーバノードのクラスターとして、Elasticsearchをリモートオペレーションモードで起動してください。

Elasticsearchのトラブルシューティング

計画どおりにうまくいかない場合もあります。Liferay DXPをElasticsearchでリモートモードに設定したのにLiferay DXPがElasticsearchに接続できない場合は、以下の点を確認してください。

**クラスター名:**Elasticsearchのcluster.name プロパティの値は、LiferayのElasticsearchアダプター用に設定したclusterNameプロパティと一致する必要があります。

**トランスポートアドレス:**ElasticsearchアダプターのtransportAddress プロパティの値は、Elasticsearchが実行されているポートと一致していなければなりません。Liferay DXPが Embedded モードで実行されている時にスタンドアロンのElasticsearchノードまたはクラスターを起動すると、ポート9300が使用されていることが検出され、ポート9301に切り替わります。その後にLiferayのElasticsearchアダプターをリモートモードに設定しても、アダプターは引き続きデフォルトのポート(9300)でElasticsearchを検索しようとします。

以下の記事では、ElasticsearchへのLiferayコネクタの設定オプションについて詳しく説明します。

« 検索エンジンのインストールElasticsearchのインストール準備 »
この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています