Commerce管理者を使用して検索エンジンを変更できません(検索エンジンメニューにアクセスできません)
警告: MySQL カタログ検索エンジンがAdobe Commerce 2.4.0で削除されました。 バージョン 2.4.0をインストールする前に、Elasticsearch ホストの設定と設定が必要です。
次を参照してください。
Elasticsearchのインストールと設定
Opensearchをインストールして設定
ライブサーチのインストールと設定
この記事では、「検索エンジン 」フィールドが表示されない場合や、「 システム値を使用」チェックボックスがグレー表示されていてアクセスできない場合に、Commerce管理者を使用してAdobe Commerce検索エンジンを変更するための解決策を紹介します。
説明 description
環境
-
Adobe Commerce オンプレミス:2.4.X
-
Adobe Commerce on cloud インフラストラクチャ:
- バージョン:2.4.X
- スタータープランとプロプランのアーキテクチャ
-
MySQL、Elasticsearch、Opensearch、ライブサーチ:サポートされているすべてのバージョン
管理者を使用した検索エンジンの変更(手順)
-
管理者として Admin にログインします。
-
管理者 サイドバーの左側で、 ストア をクリックします。
-
設定で、設定を選択します。
-
カタログ の下の左側のパネルに移動し、 カタログ を選択します。
-
「 カタログ検索」セクションを展開します。
-
「検索エンジン 」フィールドに移動し、「 システム値を使用」チェックボックスから選択を削除します。
-
検索エンジン メニューをクリックし、次に示すように、使用可能なオプションのいずれかを選択します。
-
ページの右上隅にある「設定を保存」をクリックします。
Adobe Commerce オンプレミスの問題
問題1:検索エンジンフィールドが表示されない
カタログ検索 セクションにアクセスすると、検索エンジン メニューがまったく表示されません。
原因:ストア ビューが既定の構成ではありません
管理者のストアビューは、デフォルト設定以外の値に設定されています。
検索エンジンは、ストアスコープではなく、アプリケーションレベルで設定されたグローバル設定です。 Adobe Commerceアプリケーション内のストアでは、異なる検索エンジンを使用できません。
問題2: 「システム値を使用」のチェックを外せない
管理者の カタログ検索 セクションにアクセスすると、「 システム値を使用」チェックボックスがグレー表示になり、チェックボックスから選択を削除して後で検索エンジンを変更することはできません。
原因
既定の検索エンジンは、app/etc/env.phpまたはapp/etc/config.php ファイルのアプリケーション設定レベルで設定されているため、管理者を使用して変更することはできません。
デフォルトの検索エンジン設定を持つセクションの例:
'system'=>
array (
'default'=>
array (
'catalog'=>
array (
'search'=>
array (
'engine'=>'mysql',
),
),
),
),
解決策 resolution
問題1:検索エンジンフィールドが表示されない
解決策:ストアビューをデフォルト設定に設定する
-
管理者として Admin にログインします。
-
管理者 サイドバーの左側で、 ストア をクリックします。
-
設定に移動し、設定を選択します。
-
左上隅で、 ストアビュー セレクターをクリックし、デフォルト設定を選択します。
-
確認ダイアログボックスで「OK」をクリックして、ストアビューの変更を承認します。
関連ドキュメント: ユーザーガイドの スコープの変更。
問題2: 「システム値を使用」のチェックを外せない
ソリューション
既定の検索エンジン設定を含むセクションをapp/etc/env.phpまたはapp/etc/config.php設定ファイルから削除します。
開発者向けドキュメントの関連記事
Adobe Commerce設定ガイドのAdobe Commerce設定ファイル
Adobe Commerce on cloud infrastructure
管理者を使用した検索エンジンの切り替えは、クラウドインフラストラクチャが整理されているため、Adobe Commerceのクラウドインフラストラクチャでは使用できません。
デプロイメントプロセス中に、Adobe Commerce on cloud infrastructure デプロイメントスクリプトが、MAGENTO_CLOUD_RELATIONSHIPS変数にElasticsearchが宣言されているかどうかを確認します。 宣言すると、Elasticsearchはアクティブな検索エンジンとして選択され、自動的に設定されます。管理者は、MySQL検索エンジン にアクセスできなくなります。 Elasticsearch リレーションシップが宣言されていない場合、MySQLはアクティブに設定され、Elasticsearchにアクセスできなくなります。
app/etc/env.phpまたはapp/etc/config.phpの設定ファイルをクラウド環境で直接編集することはお勧めしません。そのため、これらのファイルを変更して、管理者に表示するElasticsearch エンジンを作成することは推奨されません(前のセクションで推奨するソリューション)。
ステージング環境と実稼動環境での検索エンジンの変更
ステージング環境と実稼動環境で検索エンジンをMySQLからElasticsearchに切り替える前に、以前に サポートチケットを送信し環境でElasticsearchを有効にするように要求しており、チケットが正常に解決されていることを確認してください。
ステージング環境と実稼動環境で使用される検索エンジンを変更するには、ローカル環境のSEARCH_CONFIGURATION ファイルの.magento.env.yaml環境変数を変更し、変更を有効にするには、統合環境とステージング環境/実稼動環境に変更をプッシュします。
Elasticsearch 7に切り替える場合、結果のSEARCH_CONFIGURATION ファイルの.magento.env.yaml変数は次のようになります。
stage:
deploy:
SEARCH_CONFIGURATION:
engine: elasticsearch7
elasticsearch_server_hostname: hostname
elasticsearch_server_port: '12345'
elasticsearch_index_prefix: magento
elasticsearch_server_timeout: '15'
Opensearch (2.4.6以降)に切り替える場合、結果のSEARCH_CONFIGURATION ファイルの.magento.env.yaml変数は次のようになります。
stage:
deploy:
SEARCH_CONFIGURATION:
engine: opensearch
elasticsearch_server_hostname: hostname
elasticsearch_server_port: '12345'
elasticsearch_index_prefix: magento
elasticsearch_server_timeout: '15'
ライブサーチ に切り替える場合、結果のSEARCH_CONFIGURATION ファイルの.magento.env.yaml変数は次のようになります。
stage:
deploy:
SEARCH_CONFIGURATION:
engine: livesearch
関連ドキュメント
サポートナレッジベース
開発者向けドキュメント
- Elasticsearch サービスの設定
- ビルドとデプロイ (
.magento.env.yaml設定ファイルに関するドキュメント) - 変数のデプロイ (検索設定セクション )
- サービス (
.magento/services.yaml設定ファイルに関するドキュメント) - ライブサーチ