Elasticsearch
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Elasticsearchへの接続

Elasticsearch を セットアップした後、Liferay Connector to Elasticsearch を使用して Liferay に接続します。 接続の手順は、設定するコネクターによって異なります。 参考として、 利用可能な Liferay Elasticsearch コネクタ を参照してください。

インストールおよび設定手順における顕著な違いはここに示されています。

重要
  • Elasticsearch 7 のシステム設定エントリおよび対応する設定ファイルは、Elasticsearch 8 への接続設定にも使用されます。

  • 接続を設定する前に、各Liferayサーバーノードを停止します。

  • Elasticsearch 7.17.xサーバーへのLiferayの接続は、Elasticsearch 7.17のサポート終了に伴い、非推奨となります。 非推奨のElasticsearchに接続すると、ログと検索管理パネルに警告が表示されます。

    WARN  [main][ElasticsearchSearchEngine:382] Connecting to Elasticsearch 7 nodes is now deprecated. Upgrade the Elasticsearch nodes corresponding to the following connection IDs: __REMOTE__.
    

Liferay 7.2 を使用している場合は、 Liferay 7.2: Elasticsearch 7 コネクタのインストール に進んでください。

コネクタの設定

Liferay DXP 2026.Q1+ 用の Elasticsearch コネクタは、以下の設定ファイルを使用して構成できます。

com.liferay.portal.search.elasticsearch8.configuration.ElasticsearchConfiguration.config

Liferay 7.3-2025.Q4 用の Elasticsearch コネクタは、以下の設定ファイルを使用して構成できます。

com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config

この同じファイルを使用して、Liferay 7.3および7.4をElasticsearch 7または8に接続することもできます。 利用可能な Elasticsearch バージョンを確認するには、 検索エンジン互換性マトリックス を参照してください。

デプロイするには、 [Liferay Home]/osgi/configs/ に配置します。

Dockerの場合、

docker cp ~/path/to/com.liferay.portal.search.elasticsearch8.configuration.ElasticsearchConfiguration.config [container]:/mnt/liferay/files

または、ユーザーインターフェイスでコネクタを設定することもできます。 グローバルメニュー(Global Menu)で、コントロールパネル→システム設定に進み、 検索 カテゴリを開きます。 このエントリはElasticsearch 7と呼ばれます。

シンプルな Elasticsearch コネクタ構成では、プロダクション モード (productionModeEnabled="true") を有効にし、各 Elasticsearch ノードへの URL (networkHostAddresses=["http://es-node:9200"] ) を設定します。

  1. お使いのバージョンに適した 設定ファイル を作成してください。 例えば、これはLiferay DXP 2026.Q1+の場合です。

    com.liferay.portal.search.elasticsearch8.configuration.ElasticsearchConfiguration.config
    
  2. .configファイルで設定プロパティを指定します。 以下は、 セキュリティプロパティ をコメントアウトした例です(暗号化が有効になっている場合は、 https ネットワークホストアドレスを使用する必要があることに注意してください)。

    # In CE/DXP 7.3+, productionModeEnabled replaces operationMode (deprecated):
    productionModeEnabled=B"true"
    networkHostAddresses=["http://es-node1:9200","http://es-node3:9201","http://es-node3:9202"]
    # In CE/DXP 7.3+ the security settings are included in the ElasticsearchConfiguration
    # In CE/DXP 7.2 the security settings go in com.liferay.portal.search.elasticsearch7.configuration.XPackSecurityConfiguration.config
    # Authentication
    #authenticationEnabled=B"true"
    #username="elastic"
    #password="liferay"
    
    # TLS/SSL
    #networkHostAddresses=["https://es-node1:9200","https://es-node3:9201","https://es-node3:9202"]
    #httpSSLEnabled=B"true"
    #truststoreType="pkcs12"
    #trustStorePath="/PATH/TO/elastic-nodes.p12"
    #trustStorePassword="liferay"
    
    # Highly recommended for all non-prodcution usage (e.g., practice, tests, diagnostics):
    #logExceptionsOnly="false"
    
  3. .configファイルを[Liferay Home]/osgi/configsフォルダに配置します。

ヒント

コネクタには多くの設定項目があります。 定義については、 Elasticsearch コネクタ設定 を参照してください。 ほとんどの設定は、 Elasticsearch で利用可能な設定に対応しています。

Elasticsearchサーバーを名前で参照するには、各Elasticsearchサーバー名をDNSまたはLiferayサーバーの/etc/hosts ファイル内のIPアドレスにマップします。

ヒント

ネットワークホストアドレスの形式は http[s]://[ホスト名]:[ポート] です。 Liferay Dockerコンテナを使用している場合は、 --add-host [ホスト名]:[IPアドレス] オプションを docker run コマンドで使用することで、ホスト名を各ElasticsearchサーバーのIPアドレスにマッピングできます。 ポートは、Elasticsearchコンテナのdocker runコマンドで -p 1234:5678 オプションの最初の値として定義されます(この場合は 1234 です)。 HTTPS が有効になっていないローカル テスト環境を実行している場合、すべてのアドレスは http://localhost:port になります。 詳細については、 Docker のドキュメント を参照してください。

Liferay 7.2:Elasticsearch 7コネクタのインストール

Elasticsearch 6コネクタを停止する

Liferay 7.2では、バンドルされているコネクタアプリケーションとAPIはElasticsearch 6用です。 Elasticsearch 7コネクタをインストールする前に、これらを無効にする必要があります。

  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.lpkg" \
    ]
    
  3. ファイルを[Liferay Home]/osgi/configsフォルダに配置します。

    Liferayサーバーを起動すると(まだ起動していない場合)、Liferayはこのファイルを読み取り、宣言されたバンドルの起動をブロックします。

    ヒント

    Docker: Liferay Home および Liferay インストールのその他の重要なフォルダーは、 /mnt/liferay にある Docker コンテナで、 ここ で説明されているようにアクセスできます。 docker cp /path/to/local/file [container_name]:/mnt/liferay/files/osgi/configs を使用して、設定ファイルをコンテナ内に配置できます。 後で、 docker cp を使用して、Liferay Connector を Elasticsearch 7 LPKG ファイルにデプロイできます。

    
    

### Elasticsearch 7コネクタのインストール

  1. Liferay Connector to Elasticsearch 7をダウンロードします。

    コネクタがElasticsearchのバージョンに対応していることを確認してください。 コネクタアプリケーションが新しいバージョン(7.18.0など)をサポートしている場合でも、コネクタのクライアントライブラリが古いバージョンのElasticsearch(7.17.1など)用である可能性があることに注意してください。 Liferayは、Elasticsearchのマイナーバージョンごとにコネクタをテストし、必要に応じて新しいアップデートコネクタバージョンを作成します。 いつものように、コネクタの互換性については、 検索エンジン互換性マトリックス を参照してください。

  2. LPKGをインストールします フォルダに配置して

    [Liferay Home]/deploy
    

    Dockerの場合、

    docker cp ~/path/to/Liferay\ Connector\ to\ Elasticsearch.lpkg [container]:/mnt/liferay/deploy
    

    Liferayサーバーを起動すると(まだ起動していない場合)、LiferayはLPKGをデプロイします。

これで、コネクタを設定する準備が整いました。

Liferay7.2用のコネクタを設定する

  1. 次のElasticsearch設定ファイルを作成します。

    com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config
    
  2. .configファイルで設定プロパティを指定します。 ここでは、リモート動作モードを有効にし、各Elasticsearchノードのトランスポートアドレスを設定し、設定している接続を識別する例を示します。

    # com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config
    operationMode="REMOTE"
    transportAddresses="ip.of.elasticsearch.node:9300"
    # Highly recommended for all non-production usage (e.g., practice, tests, diagnostics):
    #logExceptionsOnly="false"
    
  3. .configファイルを[Liferay Home]/osgi/configsフォルダに配置して、設定をデプロイします。

これでLiferayを開始する準備が整いました。

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

Elasticsearchが インストールされ、実行されている場合は、Liferayを起動します。 コントロールパネルで、[設定] → [検索機能]に移動し、Elasticsearch接続が有効であることを確認します。

検索管理パネルにアクティブな接続が表示されます。

検索インデックスとスペルチェックインデックスを再構築します。 [コントロールパネル] → [設定] → [検索機能]の[アクションをインデックスする]タブで、これらのアクションの両方を呼び出します。

Liferay 7.3以降では、ワークフローメトリクス設定ウィンドウから ワークフローメトリクス インデックスを再インデックスします。

  1. グローバルメニュー(Applications Menu)から、アプリケーション → ワークフローメトリクスに移動します。

  2. アプリオプションメニュー(App Options)から設定ウィンドウを開きます。

  3. すべてを再インデックス をクリックします。 この操作をシステム内の各仮想インスタンスに対して繰り返します。

Elasticsearch インデックスをプライマリ データ ストレージ (データベースによってバックアップされていないデータのストレージ) に使用している場合は、 スナップショットとリストアのアプローチ を使用して、そのデータを新しい Elasticsearch クラスターに取り込むことができます。 7.2と7.3では、Liferay独自の検索の調整インデックス(結果ランキングと同義語用)が、メインのストレージインデックスです。 7.4では、これらのインデックスはデータベーステーブルによってバックアップされています。

Liferay 7.4 U45+/GA45+ および Liferay DXP 7.3 U14+ では、拡張ログ機能が有効になっているため、システムインデックスと会社インデックスの再インデックスの開始と終了時刻を知ることができます。 例えば、

2023-01-09 20:44:17.730 INFO  [liferay/background_task-2][ReindexPortalBackgroundTaskExecutor:57] Start reindexing company 0
2023-01-09 20:44:53.677 INFO  [liferay/background_task-2][ReindexPortalBackgroundTaskExecutor:76] Finished reindexing company 0
2023-01-09 20:44:53.677 INFO  [liferay/background_task-2][ReindexPortalBackgroundTaskExecutor:57] Start reindexing company 20097
2023-01-09 20:45:00.986 INFO  [liferay/background_task-2][ReindexPortalBackgroundTaskExecutor:76] Finished reindexing company 20097

Liferayは現在、お客様のリモートElasticsearchインストール環境にコンテンツをインデックス化しています。

利用可能なLiferay Elasticsearchコネクタ

バンドルされているElasticsearchへのコネクタが、インストールに最適であるとは限りません。 Elasticsearchとの通信に使用できるコネクタ間の違いを理解することが重要です。

Liferay CE/DXPバージョン名前可用性通信プロトコルセキュアな接続のサポート動作モード
Liferay DXP 2026.Q1+Liferay Connector to Elasticsearch 8バンドルHTTP (Javaクライアント)Sidecar / Remote (Production)*
Liferay 7.4(2025年第4四半期まで)、全バージョンLiferay Connector to Elasticsearch 7バンドルHTTPSidecar / Remote (Production)*
CE 7.3 GA4+、DXP 7.3 GA1+Liferay (CE) Connector to Elasticsearch 7バンドルHTTPSidecar / Remote (Production)*
CE 7.2、DXP 7.2Liferay Connector (CE) to Elasticsearch 6バンドルトランスポート✔** ( LES が必要です)エンベデッド/リモート
CE 7.2、DXP 7.2Liferay Connector (CE) to Elasticsearch 7 (v3.x)マーケットプレイス: CEDXPトランスポートエンベデッド/リモート

* コネクタ構成の 操作モード (operationMode) 設定は非推奨となり、 生産モード有効化 (productionModeEnabled ) に置き換えられました。

** Liferay Enterprise Search Security アプリケーションを介して。

互換性のある Elasticsearch バージョンや必要なパッチ レベルなど、詳細な互換性情報については、 検索エンジン互換性マトリックス を参照してください。

次のステップ

LiferayがElasticsearchに接続されたので、Elasticsearchの使用を開始できます。 本番環境では、LiferayサーバーとElasticsearchサーバー間の通信を保護する必要があります。 詳細については、 Elasticsearch のセキュリティ保護 を参照してください。