OpenSearch サービスの設定

OpenSearch サービスは、Elasticsearchのライセンス変更に続く、Elasticsearch 7.10.2のオープンソース フォークです。 GitHubのOpenSource プロジェクト ​を参照してください。 必要システム構成には、サポートされているバージョンが一覧表示されます。

WARNING
Elasticsearch 7以降は、Adobe Commerce オンクラウドインフラストラクチャではサポートされていません。 Adobe Commerce バージョン 2.3.7-p3、2.4.3-p2、および2.4.4以降では、OpenSearch サービスがサポートされています。

OpenSearchなら、あらゆるソースやフォーマットからデータを取得し、リアルタイムで検索して可視化できます。

  • 商品カタログ内の商品をすばやく高度に検索
  • OpenSearch Analyzersは多言語をサポートしています
  • ストップワードと類義語をサポート
  • インデックス再作成操作が完了するまで、インデックス作成は顧客に影響しません

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

NOTE
Adobe Commerce サポートチケット ​を送信して、Pro実稼動環境とステージング環境のサービス構成を変更します。
TIP
​ ライブサーチ ​を使用していないCloud Infrastructure プロジェクトのAdobe Commerceの場合、Adobeでは、サードパーティの検索ツールにフォールバックオプションを提供するようにOpenSearchを設定することをお勧めします。 ただし、OpenSearchとLive Searchの両方を同じCommerce インスタンスで有効にすることはできません。

OpenSearch​を有効にするには:

  1. 統合環境の場合は、適切なバージョンと割り当てられたディスク容量がMBの.magento/services.yaml ファイルにopensearch サービスを追加します。 この場合、バージョン 3が適切です。 マイナーバージョンは必要ありません。

    code language-yaml
    opensearch:
        type: opensearch:3
        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 on cloud infrastructure プロジェクトをインストールまたはアップグレードする場合は、常にOpenSearch サービスのバージョンとAdobe Commerce用のOpenSearch PHP クライアントとの互換性を確認してください。

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

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

サービスのバージョンと互換性のサポートは、クラウドインフラストラクチャでテストおよびデプロイされたバージョンによって決まり、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:3                                           |
    | 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" : "3.1.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/"
    }
    
  • Pro プロジェクトの場合、StagingおよびProduction環境でのみ​ サービス ​をインストールまたは更新するには、Adobe Commerce サポートチケット ​を送信する必要があります。

  • 必要なサービス変更を示し、更新された.magento.app.yamlおよびservices.yaml ファイルを含め、チケットにPHP バージョンを明記します。 PHPのバージョン、拡張機能、環境設定に対するセルフサービスの変更については、アプリケーション設定​のPHP設定を参照してください。

    note important
    IMPORTANT
    新しいチケットフォームで「環境」フィールドを選択する場合は、Adobeの環境命名を使用します。 例えば、その環境​ Dev ​を内部的に呼び出す場合でも、「ステージング」を選択します。 説明に内部名を記載できますが、「環境」フィールド自体にはAdobeの命名規則を使用する必要があります。
  • 実稼動環境(Proのみ)への変更の場合、48時間以上の通知が必要です。 これにより、クラウドインフラチームはリソースを集め、安全なアップグレードを行うのに十分な時間を確保できます。 通知期間は、インフラチームがリクエストを確認し、週末を除くアップグレードをスケジュールした時点から開始されます。 例えば、月曜日にサービスのアップグレードを完了させるには、水曜日までにスケジュールされたアップグレードの確認を受け取る必要があります。 需要のピーク時には、リクエストの処理により多くの時間がかかる場合があります。

    note
    NOTE
    すべての通信で明確さと一貫性を確保するために、スケジュールされたすべてのメンテナンスウィンドウをUTC形式で提供する必要があります。 ステージング環境ではサービスのアップグレードをスケジュールできません。ほとんどの場合、ステージングのアップグレードはリクエストと同じ日に実行されます。
    RabbitMQ アップグレードをリクエストする場合は、アップグレード完了後に環境を再デプロイして、メッセージキューが再初期化されるようにしてください。
  • アップグレードのスケジュールを設定するための2部構成のハンドシェイクプロセス

    スムーズで調和のとれたアップグレードプロセスを実現するために、Adobe Commerce サポートでは、すべての実稼動環境のアップグレードに対して2部構成のハンドシェイクプロセスを実行します。

    1. お客様確認:Adobe サポートは、お客様がアップグレードの希望日時を確認することを最初にリクエストします。 このステップにより、スケジュールが顧客のビジネスニーズとメンテナンスウィンドウに合致していることを確認します。
    2. スケジュール設定と最終確認:お客様がタイミングを確認すると、Adobe サポートはインフラストラクチャチームにリクエストを送信し、その後、リクエストを確認し、スケジュールされたアップグレードウィンドウの最終確認を行います。

アップグレードは、インフラチームが最終確認を行うまでスケジュールされたとは見なされません。 お客様には、遅延を回避し、適切な通知を行うために、アップグレード期間の少なくとも48時間前に迅速に対応することが推奨されます。

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

OpenSearch サービスを再起動する必要がある場合は、Adobe Commerce サポートにお問い合わせください。

追加の検索設定

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

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

OpenSearchのプラグインを追加

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

NOTE
これは、統合環境とスターター環境にのみ適用されます。 Pro ステージングまたは実稼動クラスターにプラグインをインストールするには、​ サポートリクエストを送信してください。
opensearch:
    type: opensearch:2
    disk: 1024
    configuration:
        plugins:
            - analysis-icu
            - analysis-phonetic

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

OpenSearchのプラグインを削除

.magento/services.yaml ファイルのopensearch: セクションからプラグインエントリを削除すると、not​がサービスをアンインストールまたは無効にしません。 サービスを完全に無効にするには、.magento/services.yaml ファイルからプラグインを削除した後、OpenSearch データを再インデックスする必要があります。 このデザインは、これらのプラグインに依存するデータの可能性のある損失や破損を防ぎます。

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

NOTE
この変更は、統合環境とスターター環境にのみ適用されます。 Pro ステージングまたは実稼動クラスターでプラグインを削除するには、​ サポートチケット ​を送信する必要があります。
  1. OpenSearch プラグインのエントリを.magento/services.yaml ファイルから削除します。

  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
commerce-on-cloud-help-cloud-guide