Commerce Admin を使用して検索エンジンを変更できません(検索エンジンメニューにアクセスできません)
警告: MySQL カタログ検索エンジンは、Adobe Commerce 2.4.0 で削除されます 。 バージョン 2.4.0 をインストールする前に、Elasticsearch ホストをセットアップおよび設定しておく必要があります。
以下を参照してください。
Elasticsearchのインストールと設定
Opensearch のインストールと設定
Live Search のインストールと設定
この記事では、「 検索エンジン 」フィールドが表示されていない場合や、「 システム値を使用 」チェックボックスが灰色表示になっており、アクセスできない場合に、Commerce管理を使用してAdobe Commerce検索エンジンを変更する方法について説明します。
説明 description
環境
-
Adobe Commerce オンプレミス:2.4.X
-
クラウドインフラストラクチャー上のAdobe Commerce:
- バージョン:2.4.X
- スターターおよび Pro プランアーキテクチャ
-
MySQL、Elasticsearch、Opensearch、Live Search:サポートされているすべてのバージョン
管理者を使用して検索エンジンを変更する(手順)
-
Admin に管理者としてログインします。
-
管理者 サイドバーの左側にある ストア をクリックします。
-
設定 で 設定 を選択します。
-
左側の カタログ の下のパネルに移動して、「 カタログ 」を選択します。
-
「 カタログ検索 」セクションを展開します。
-
「 検索エンジン 」フィールドに移動し、「 システム値を使用 」チェックボックスから選択を削除します。
-
検索エンジン メニューをクリックし、次に示すように、使用可能なオプションの 1 つを選択します。
-
ページの右上隅にある「 設定を保存 」をクリックします。
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
クラウドインフラストラクチャの編成の仕方により、クラウドインフラストラクチャ上のAdobe Commerceでは、管理者を使用して検索エンジンを切り替えることはできません。
デプロイメントプロセス中に、クラウドインフラストラクチャー上のAdobe Commerce デプロイメントスクリプトは、Elasticsearchが MAGENTO_CLOUD_RELATIONSHIPS 変数で宣言されているかどうかを確認します。 宣言すると、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'
(2.4.6 以降で Opensearch に切り替える場合 結果の 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設定ファイルに関するドキュメント) - 変数をデプロイ (SEARCH_CONFIGURATION セクション )
- サービス (
.magento/services.yaml設定ファイルに関するドキュメント) - Live Search