検索エンジンの前提条件
Adobe Commerce 2.4以降、すべてのインストールでは、カタログ検索ソリューションとしてElasticsearchまたはOpenSearchを使用するように設定する必要があります。
サポートされているバージョン
Adobe Commerce 2.4.4以降をインストールする前に、ElasticsearchまたはOpenSearchのいずれかをインストールして設定する必要があります。
特定のバージョン情報については、必要システム構成を参照してください。
推奨される設定
推奨事項は次のとおりです。
インストールの場所
次のタスクは、次の図に従ってシステムを設定したことを前提としています。
上の図は、次の図を示しています。
-
Commerce アプリケーションと検索エンジンは、異なるホストにインストールされます。
別々のホストで実行するには、プロキシが機能する必要があります。 (検索エンジンのクラスタリングは、このガイドの範囲を超えていますが、詳しくは、Elasticsearch クラスタリングに関するドキュメント を参照してください)。
-
各ホストは独自のWeb サーバーを持っています。Web サーバーは同じである必要はありません。
例えば、Commerce アプリケーションはApacheを実行でき、検索エンジンはnginxを実行できます。
-
どちらのweb サーバーもTransport Layer Security (TLS)を使用します。
TLSの設定は、ドキュメントの範囲を超えています。
検索リクエストは次のように処理されます。
-
利用者からの検索リクエストは、Commerceウェブサーバによって受信され、検索エンジンサーバに転送される。
検索エンジンを設定して、プロキシのホストとポートに接続します。 Web サーバーのSSL ポート(デフォルトでは443)をお勧めします。
-
検索エンジン web サーバー(ポート 443でリッスン)は、リクエストを検索エンジン サーバーにプロキシします(デフォルトでは、ポート 9200でリッスンします)。
-
検索エンジンへのアクセスは、HTTP Basic認証によってさらに保護されます。 検索エンジンにアクセスするには、有効なユーザー名とパスワードを入力してSSL および経由で送信する必要があります。
-
検索エンジンはリクエストを処理します。
-
通信は同じルートに沿って返され、Elasticsearch web サーバーは安全なリバースプロキシとして機能します。
前提条件
この節で説明するタスクでは、次の操作が必要です。
ファイアウォールとSELinux
セキュリティ関連のソフトウェア(iptables、SELinux、AppArmor)は、サブシステム間の通信をブロックするようにデフォルトで設定できます。 問題がある場合は、それらを確認することをお勧めします。
iptablesとSELinuxのルールの設定
ファイアウォールまたはSELinuxを有効にして通信を許可するルールを設定するには、次のリソースを参照してください。
Java Software Development Kitのインストール
Javaが既にインストールされているかどうかを確認するには、次のコマンドを入力します。
java -version
メッセージ java: command not foundが表示された場合は、次の節で説明するようにJava SDKをインストールする必要があります。
次のいずれかのセクションを参照してください。
CentOSへのJDKのインストール
このDigital Ocean チュートリアル を参照してください。
JDKとnot the JREをインストールしてください。
yum -y install java-1.8.0-openjdk
UbuntuへのJDKのインストール
UbuntuにJDK 1.8をインストールするには、root権限を持つユーザーとして次のコマンドを入力します。
apt-get -y update
apt-get install -y openjdk-8-jdk
その他のオプションについては、Oracle ドキュメント を参照してください。
検索エンジンのインストール
プラットフォーム固有の手順に応じて、Elasticsearchのインストール またはOpenSearchをインストールして設定します。
Elasticsearchが動作していることを確認するには、実行中のサーバーで次のコマンドを入力します。
curl -XGET '<host>:9200/_cat/health?v&pretty'
次のようなメッセージが表示されます。
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks
1519701563 03:19:23 elasticsearch green 1 1 0 0 0 0 0 0
OpenSearchが機能していることを確認するには、次のコマンドを入力します。
curl -XGET https://<host>:9200 -u 'admin:admin' --insecure
curl -XGET https://<host>:9200/_cat/plugins?v -u 'admin:admin' --insecure
Elasticsearchのアップグレード
データのバックアップ、潜在的な移行の問題の検出、実稼動環境にデプロイする前のアップグレードのテストについて詳しくは、Elasticsearchのアップグレード を参照してください。 現在のバージョンのElasticsearchによっては、クラスター全体の再起動が必要な場合とそうでない場合があります。
ElasticsearchにはJDK 1.8以降が必要です。 Java ソフトウェア開発キットのインストール を参照して、どのバージョンのJDKがインストールされているかを確認してください。
関連資料
ElasticsearchまたはOpenSearchのドキュメントを参照してください。