OpenSearch サービスの設定

OpenSearch サービスは、Elasticsearchのライセンスの変更に伴い、Elasticsearch7.10.2 のオープンソースのフォークになりました。 詳しくは、GitHub の OpenSource プロジェクトを参照してください。

WARNING
Elasticsearch 7.11 以降は、クラウドインフラストラクチャー上のAdobe Commerceではサポートされていません。 Adobe Commerce バージョン 2.3.7 ~ p3、2.4.3 ~ p2、および 2.4.4 以降では、OpenSearch サービスをサポートしています。 オンプレミスのインストールでは、引き続きElasticsearchがサポートされます。

OpenSearch を使用すると、任意のソース、任意の形式からデータを取得し、リアルタイムで検索および視覚化できます。

  • 製品カタログ内の製品に対するクイック検索と詳細検索
  • OpenSearch アナライザーは複数の言語をサポートしています
  • ストップワードおよび同義語のサポート
  • インデックス再作成が完了するまで、インデックス作成は顧客に影響しません

master ブランチを含む Pro 統合環境とスターター環境でのサービス設定については、以下の手順を使用します。

NOTE
Adobe Commerce サポートチケットを送信して、Pro 実稼動環境とステージング環境のサービス設定を変更します。
TIP
Adobeでは、Adobe Commerce アプリケーションにサードパーティの検索ツールを設定する予定がある場合でも、クラウドインフラストラクチャプロジェクトでAdobe Commerce用に常に OpenSearch を設定することをお勧めします。 OpenSearch を設定すると、サードパーティの検索ツールでエラーが発生した場合にフォールバックオプションを利用できます。

OpenSearch を有効にするには:

  1. スターターおよび Pro 統合環境の場合は、適切なバージョンと割り当てられたディスク容量(MB 単位)を使用して opensearch サービスを .magento/services.yaml ファイルに追加します。 この場合、バージョン 2 が適切です。 クラウドインフラストラクチャでは最新バージョンの OpenSearch が使用されるので、マイナーバージョンは必要ありません。

    code language-yaml
    opensearch:
        type: opensearch:2
        disk: 1024
    

    Pro プロジェクトの場合、ステージング環境と実稼動環境で OpenSearch バージョンを変更するには、Adobe Commerce サポートチケットを送信する必要があります。

  2. .magento.app.yaml ファイルの relationships プロパティを設定または確認します。

    code language-yaml
    relationships:
        opensearch: "opensearch:opensearch"
    
  3. コードの変更を追加、コミットおよびプッシュします。

    code language-bash
    git add .magento/services.yaml .magento.app.yaml
    
    code language-bash
    git commit -m "Enable OpenSearch"
    
    code language-bash
    git push origin <branch-name>
    

    これらの変更が環境に与える影響について詳しくは、 サービスの設定を参照してください。

  4. デプロイメントプロセスが完了したら、SSH を使用してリモート環境にログインします。

    code language-bash
    magento-cloud ssh
    
  5. カタログ検索インデックスを再インデックス化します。

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. キャッシュをクリーンアップします。

    code language-bash
    bin/magento cache:clean
    
TIP
サービスの初期セットアップ後、services.yaml および .magento.app.yaml の構成ファイルを更新することで、インストールされているサービスのソフトウェア バージョンを変更できます。 サービスのアップグレードまたはダウングレードのガイダンスについては、 サービスバージョンの変更を参照してください。

OpenSearch ソフトウェアの互換性

クラウドインフラストラクチャプロジェクトでAdobe Commerceをインストールまたはアップグレードする際は、常に OpenSearch サービスのバージョンと、Adobe Commerce用の OpenSearch PHP クライアントとの互換性を確認してください。

  • 初回セットアップ- services.yaml ファイルで指定された OpenSearch バージョンが、Adobe Commerce用に設定された OpenSearch PHP クライアントと互換性があることを確認します。

  • プロジェクトのアップグレード – 新しいアプリケーションバージョンの OpenSearch PHP クライアントが、クラウドインフラストラクチャにインストールされた OpenSearch サービスバージョンと互換性があることを確認します。

サービスのバージョンと互換性のサポートは、Cloud Infrastructure でテストおよびデプロイされたバージョンによって決まり、Adobe Commerceのオンプレミスデプロイメントでサポートされているバージョンとは異なる場合があります。 サポートされているバージョンの一覧については、『インストール ガイド 🔗 システム要件 を参照してください。

OpenSearch ソフトウェアの互換性を確認するには:

  1. ローカルワークステーションで、をプロジェクトディレクトリに変更します。

  2. アクティブな環境の OpenSearch の詳細を表示します。

    code language-bash
    magento-cloud relationships --property=opensearch
    
  3. または、SSH を使用してリモート環境にログインすることもできます。

    code language-bash
    magento-cloud ssh
    
  4. OpenSearch サービス接続の詳細を取得します。

    code language-bash
    vendor/bin/ece-tools env:config:show services
    

    応答で、OpenSearch サービスエンドポイントの IP アドレスとポートを見つけます。

    code language-none
    +------------------------------------------+--------------------------------------------------------+
    | opensearch:                                                                                       |
    +------------------------------------------+--------------------------------------------------------+
    | username                                 | null                                                   |
    | scheme                                   | http                                                   |
    | service                                  | opensearch                                             |
    | fragment                                 | null                                                   |
    | ip                                       | 169.254.220.11                                         |
    | hostname                                 | hostf75wi3sd24l.opensearch.service._.magentosite.cloud |
    | port                                     | 9200                                                   |
    | cluster                                  | projectID-develop-4ranwui                              |
    | host                                     | opensearch.internal                                    |
    | rel                                      | opensearch                                             |
    | path                                     | null                                                   |
    | query                                    |                                                        |
    | password                                 | null                                                   |
    | type                                     | opensearch:2                                           |
    | public                                   | false                                                  |
    | host_mapped                              | false                                                  |
    
  5. サービスエンドポイントから、インストールされている OpenSearch サービス version:number を取得します。

    code language-bash
    curl -XGET <opensearch-service-endpoint-ip-address>:9200
    
    code language-json
    {
       "name" : "opensearch.0",
       "cluster_name" : "opensearch",
       "cluster_uuid" : "_yzaae6-ywSEW1MaAF8ZPWyQ",
       "version" : {
         "distribution" : "opensearch",
         "number" : "2.5.0",
         "build_type" : "deb",
         "build_hash" : "aaaaaaa",
         "build_date" : "2023-01-23T12:07:18.760675Z",
         "build_snapshot" : false,
         "lucene_version" : "9.4.2",
         "minimum_wire_compatibility_version" : "7.10.0",
         "minimum_index_compatibility_version" : "7.0.0"
    },
    "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }
    
TIP
Pro プロジェクトの場合、Staging および Production 環境でのみ サービスをインストールまたは更新するには、Adobe Commerce サポートチケットを送信する必要があります。
必要なサービスの変更を示し、更新した .magento.app.yaml ファイルと services.yaml ファイルを含め、PHP バージョンをチケットに記載します。 PHP のバージョン、拡張機能、または環境設定のセルフサービスでの変更については、 アプリケーション設定 _のPHP 設定_ を参照してください。
ライブ 実稼動環境(Pro のみ)への変更の場合、クラウドインフラストラクチャチームがリソースをマーシャリングし、安全なアップグレードを実施するのに十分な時間を確保できるように、少なくとも 48 時間の注意事項を提供する必要があります。

OpenSearch サービスを再起動します

OpenSearch サービスを再起動する必要がある場合は、Adobe Commerce サポートに連絡してください。

追加の検索設定

  • デフォルトでは、クラウド環境の検索設定は、デプロイするたびに再生成されます。 SEARCH_CONFIGURATION デプロイ変数を使用して、デプロイメント間でカスタム検索設定を保持できます。 変数のデプロイを参照してください。

  • プロジェクトの OpenSearch サービスを設定した後、管理 UI を使用して OpenSearch 接続をテストし、Adobe Commerceの OpenSearch 設定をカスタマイズします。

OpenSearch 用プラグインの追加

オプションで、.magento/services.yaml ファイルの OpenSearch サービスに configuration:plugins セクションを追加することで、OpenSearch 用のプラグインを追加できます。 例えば、次のコードは ICU 分析と音声分析プラグインを有効にします。

opensearch:
    type: opensearch:2
    disk: 1024
    configuration:
        plugins:
            - analysis-icu
            - analysis-phonetic

プラグインについて詳しくは、OpenSearch プロジェクトを参照してください。

OpenSearch のプラグインを削除

.magento/services.yaml ファイルの opensearch: セクションからプラグイン エントリを削除しても、サービスはアンインストールまたは無効化 されません。 このサービスを完全に無効にするには、.magento/services.yaml ファイルからプラグインを削除した後、OpenSearch データのインデックスを再作成する必要があります。 この設計により、これらのプラグインに依存するデータの損失や破損を防ぐことができます。

OpenSearch プラグインを削除するには:

  1. .magento/services.yaml ファイルから OpenSearch プラグインのエントリを削除します。

  2. コードの変更を追加、コミット、プッシュします。

    code language-bash
    git add .magento/services.yaml
    
    code language-bash
    git commit -m "Remove OpenSearch plugin"
    
    code language-bash
    git push origin <branch-name>
    
  3. .magento/services.yaml の変更をクラウドリポジトリにコミットします。

  4. カタログ検索インデックスを再インデックス化します。

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  5. キャッシュをクリーンアップします。

    code language-bash
    bin/magento cache:clean
    
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26