OpenSearch サービスの設定

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

WARNING
Elasticsearch 7以降は、Adobe Commerce オンクラウドインフラストラクチャではサポートされていません。 Adobe Commerce 2.4.4以降では、OpenSearch サービスをサポートしています。

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

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

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

NOTE
Pro実稼動環境とステージング環境のサービス構成を変更するには、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設定ファイルを更新することで、インストール済みサービスのソフトウェアバージョンを変更できます。 サービスのアップグレードまたはダウングレードに関するガイダンスについては、​ サービスバージョンの変更を参照してください。 このセルフサービス方式は、Pro ステージング環境または実稼動環境には適用されません。Configure services​のPro サービスのサポート ​を参照してください。

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 サービスのアップグレードのスケジュール要件と顧客可用性に関するガイダンスについては、Configure services​のPro サービスのサポート ​を参照してください。

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:3
    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