legacy-knowledge-base
公開されました Jul. 2, 2025

Elasticsearch コネクタ設定:リファレンス

written-by

Shimada Taro

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

Elasticsearch は Liferay DXP 7.1 のデフォルト検索エンジンです。Liferay Foundation suite にはLiferay Connector to Elasticsearch 6というElasticsearchアダプターが含まれています。このアダプターは システム設定またはOSGi設定ファイルから設定することができます。com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.cfgというOSGi 設定ファイルは[Liferay_Home]/osgi/configsにデプロイされます。

以下はLiferayのElasticsearch アダプターの設定の一覧です。システム設定(検索カテゴリ内のElasticsearch 6エントリ)で表示される順にリストされています。

Resolution

clusterName=LiferayElasticsearchCluster

クラスターを統合する名前を設定するString値です。運用モードをリモートに設定している場合、名前が一致している必要があります。(参考:リモート運用モード)

operationMode=EMBEDDED

運用モードはEMBEDDED、REMOTEの2種類があります。独立したElasticsearchクラスターに接続する場合はREMOTEで設定します。インターナルのElasticsearchインスタンスでLiferayを開始する場合はEMBEDDEDで設定します。Embeddedモードは本番環境ではサポートされていません。

indexNamePrefix=liferay-

検索インデックス名のPrefixとしてString値を設定します。通常、デフォルト値の変更は推奨しません。変更した場合は、ポータルの全インデックスを再構築し、Elasticsearchの管理コンソールから手動で以前のインデックスを削除してください。

indexNumberOfReplicas=各インデックスのレプリカ数を設定します。 設定しない場合、レプリカは使用されません。 変更を有効にするには、再インデックスが必要です。

indexNumberOfShards= Liferayインデックスを作成するときに使用するインデックスシャードの数を設定します。 設定しない場合は、単一のシャードが使用されます。 変更を有効にするには、再インデックスが必要です。

bootstrapMlockAll=false

このブーリアン設定がtrueの場合、RAM内にプロセスアドレス空間スペースを確保し、Elasticsearchのメモリースワップ (詳細は こちら)を抑制します。

logExceptionsOnly=true

このブーリアン設定がtrueの場合、Elasticsearchからの例外のみをログし、再度例外の生成をしないようにします。

retryOnConflict=5

ドキュメントの取得時から、アップデートの間までに変更が生じ、バージョン不一致が起きた際のリトライ回数の整数値を設定します。(詳細は こちら)

discoveryZenPingUnicastHostsPort=9300-9400

discovery.zen.ping.unicast.hostsの値を作成する時に使用する、ポート範囲のString値を設定します。同一ポート範囲に存在する複数のElasticsearchノードは、同じコンピューターでゴシップルーターとして動作します。(詳細は こちら)

networkHost=

ノードがホスト名又はIPアドレスにバインドし、このホストをクラスター内の他ノードに公開するように指示を出すString値を設定します。これはバインドホストと、公開ホストを同時に設定するショートカットです。

(詳細は こちら)

networkBindHost=

ノードをバインドするリクエストを受け取るネットワークインターフェイスのString値を設定します。(詳細は こちら)

networkPublishHost=

ノード同士が接続できるように、クラスター内の他ノードに知らせる単一インタフェイスのString値を設定します。(詳細は こちら)

transportTcpPort=

ノード間で通信するポートをバインドするにはこのString値を設定します。ポート番号は1つもしくは範囲を指定可能です。(詳細は こちら)

transportAddresses=localhost:9300

リモートのElasticsearchノードが接続するアドレスを設定するString値です。この値は、運用モードがリモートに設定されている時に必要になります。(詳細は こちら)  必要に応じたノードを設定できます。

clientTransportSniff=true

クラスターのSniff(スニッフ)を有効にし、クラスター内のデータノードを動的に見つけるにはこのブーリアン設定をtrueにします。(詳細は こちら)

clientTransportIgnoreClusterName=false

接続されたノードのクラスター名認証を無効にするにはこのブーリアン設定をtrueにします。(詳細は こちら)

clientTransportPingTimeout= クライアントノードがノードからのping応答を待つ時間(秒)。 設定しない場合、Elasticsearch のデフォルト値 client.transport.ping_timeoutが使用されます。

clientTransportNodesSamplerInterval=

リストされ接続されているノードがどの頻度でsample/pingをするかクライアントノードに設定する String値です。(詳細は こちら )

httpEnabled=true

この設定値をfalseにすることで、全ノードでhttpリクエストを受け取らないようにします。この設定で全ノードが、RESTリクエストを直接受け取らないようになります。

この設定はElasticsearch 6.3で廃止されたため、コネクタの対応する設定も廃止予定です。 この設定は組み込みのElasticsearchサーバー構成にのみ使用されていたため、その廃止は本番環境への影響を最小限に抑えます。

httpCORSEnabled=true

クロスオリジンリソースシェアリングを無効にするにはこのブーリアン設定をfalseにします。(例:別のブラウザーがElasticsearchにリクエストをできるか否か)無効の場合、elasticsearch-headなどのウェブフロントツールは接続できません。(詳細はこちら)

httpCORSAllowOrigin=/https?:\\/\\/localhost(:[0-9]+)?/

HTTP CORSが有効になった時にString値のオリジンを設定します。(詳細は こちら)

httpCORSConfigurations=

HTTP CORSのカスタム設定のString値を、YML フォーマット(elasticsearch.yml)で設定します。(詳細は こちら)

additionalConfigurations=

組み込みElasticsearchのカスタム設定のString値を、YMLフォーマットで設定します。

参考資料: Liferay Elasticsearchアダプターに設定を追加

additionalIndexConfigurations=

Liferayインデックスのカスタム設定のString値を、JSONまたはYMLフォーマットで設定します。

参考資料: Liferay Elasticsearchアダプターに設定を追加

additionalTypeMappings=

LiferayDocumentTypeのString値のカスタムマッピングを、JSONフォーマット(Elasticsearch Mapping APIを設定する資料を参照)で設定します。

overrideTypeMappings=

Liferay DXPのデフォルトの型マッピングを上書きします。これは高度な機能であり、厳密に必要な場合にのみ使用する必要があります。

この値を設定した場合、Liferay DXPソースコードでLiferayドキュメントタイプを定義するために使用されるデフォルトのマッピング(例:liferay-type-mappings.json)は完全に無視されるため、変更するセグメントだけでなく、マッピング定義全体をこのプロパティに含めます。

syncSearch=true有効にした場合、検索はElasticsearchの検索スレッドプールではなく呼び出し元のスレッドで実行されます。

組み込みのElasticsearch Serverにのみ影響を与える設定

これらの設定(上記で定義)は、組み込みElasticsearchサーバーを構成するときにのみ使用することを目的としています。 これらを設定しても、リモートのElasticsearchインストールに影響はありません。

  • bootstrapMlockAll
  • discoveryZenPingUnicastHostsPort
  • networkHost
  • networkBindHost
  • networkPublishHost
  • transportTcpPort
  • httpEnabled
  • httpCORSEnabled
  • httpCORSAllowOrigin
  • httpCORSConfigurations
  • syncSearch

これらの設定はシステム設定アプリケーションで簡単に構成できます。また、前述のように、デプロイ可能なOSGiの.configファイルで指定することもできます。

did-this-article-resolve-your-issue

legacy-knowledge-base