検索エンジン設定

この節では、Adobe CommerceのオンプレミスデプロイメントでElasticsearchまたは OpenSearch をテストするために必要な最小設定について説明します。

TIP
バージョン 2.4.4 および 2.4.3-p2 では、Elasticsearch というラベルの付いたすべてのフィールドも OpenSearch に適用されます。
Elasticsearch 2.4.6 でバージョン 8.x のサポートが導入された際には、Elasticsearch設定と OpenSearch 設定を区別する新しいラベルが作成されました。

検索エンジンの設定について詳しくは、 ユーザーガイドを参照してください。

管理者からの検索エンジンの設定

TIP
新しい検索エンジン バージョンにアップグレードする手順については、 アップグレードの前提条件を参照してください。

Elasticsearchまたは OpenSearch を使用するようにシステムを設定するには:

  1. 管理者として管理者にログインします。

  2. Stores/Settings/Configuration/Catalog/Catalog/Catalog Search をクリックします。

  3. Search Engine リストから、検索エンジンの対応するバージョンを選択します。

    次の表に、Commerceとの接続を設定およびテストするために必要なオプションを示します。 検索エンジンのサーバー設定を変更しない限り、デフォルトは機能します。 次の手順にスキップします。

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
    オプション 説明
    Server Hostname Elasticsearchまたは OpenSearch を実行しているマシンの完全修飾ホスト名または IP アドレスを入力します。
    クラウドインフラストラクチャー上のAdobe Commerce:統合システムからこの価値を取得します。
    Server Port Web サーバーのプロキシポートを入力します。 デフォルトは 9200
    クラウドインフラストラクチャー上のAdobe Commerceです。この値は、統合システムから取得してください。
    Index Prefix 検索エンジンのインデックスプレフィックスを入力します。 複数のCommerce インストールに 1 つのインスタンスを使用する場合(ステージング環境と実稼動環境)、インストールごとに一意のプレフィックスを指定する必要があります。 それ以外の場合は、デフォルトのプレフィックス magento2 を使用できます。
    Enable HTTP Auth 検索エンジン サーバーの認証を有効にした場合のみ、[Yes] をクリックします。 その場合は、指定されたフィールドにユーザー名とパスワードを入力します。
    Server Timeout Elasticsearchまたは OpenSearch サーバーへの接続を確立しようとするときに待機する時間(秒)を入力します。
  4. Test Connection」をクリックします。

    応答の例:

    成功

    続行:

    以下が表示されます。

    失敗

その場合は、次の操作を試してください。

  • 検索エンジン サーバーが実行中であることを確認してください。

  • サーバーがCommerceとは別のホスト上にある場合は、Commerce サーバーにログインし、検索エンジンホストに対して ping を実行します。 ネットワーク接続の問題を解決し、接続を再度テストします。

  • Elasticsearchまたは OpenSearch を開始したコマンド ウィンドウで、スタック トレースと例外を調べます。 続行する前にそれらを解決する必要があります。 特に、root 権限を持つユーザーとして検索エンジンを起動したことを確認してください。

  • UNIX ファイアウォールと SELinux の両方が無効になっていることを確認するか、検索エンジンとCommerceが相互に通信できるようにルールを設定します。

  • Server Hostname フィールドの値を確認します。 サーバーが使用可能であることを確認します。 代わりに、サーバーの IP アドレスを試してみてください。

  • netstat -an | grep <listen-port> コマンドを使用して、Server Port フィールドで指定されたポートが別のプロセスで使用されていないことを確認します。

    例えば、検索エンジンがデフォルトのポートで実行されているかどうかを確認するには、次のコマンドを使用します。

    code language-bash
    netstat -an | grep 9200
    

    ポート 9200 で実行されている場合は、次のように表示されます。

    code language-none
    `tcp        0      0 :::9200            :::-         LISTEN`
    

カタログ検索のインデックスを再作成して、ページ全体のキャッシュを更新します。

検索エンジンの設定を変更した後、管理者またはコマンドラインを使用して、カタログ検索インデックスを再インデックスし、ページのフルキャッシュを更新する必要があります。

管理者を使用してキャッシュを更新するには:

  1. 管理者で、System/Cache Management をクリックします。

  2. Page Cache」の横にあるチェックボックスをオンにします。

  3. 右上の Actions リストで、「更新」をクリックします。

    キャッシュ管理

コマンドラインを使用してキャッシュをクリーンアップするには:bin/magento cache:clean

コマンドラインを使用してインデックスを再作成するには:

  1. ファイルシステムのオーナーとしてCommerce サーバーにログインするか、に切り替えます。

  2. 次のいずれかのコマンドを入力します。

    次のコマンドを入力して、カタログ検索インデックスのみを再インデックス化します。

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    

    次のコマンドを入力して、すべてのインデクサーを再インデックス化します。

    code language-bash
    bin/magento indexer:reindex
    
  3. 再インデックスが完了するまで待ちます。

    note info
    INFO
    キャッシュとは異なり、インデクサーは cron ジョブによって更新されます。 検索エンジンの使用を開始する前に、cron が有効になっていることを確認します。
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c