Impossible de modifier le moteur de recherche à l’aide de Commerce Admin (le menu Moteur de recherche est inaccessible)

Avertissement : Le moteur de recherche catalogue MySQL sera supprimé dans Adobe Commerce 2.4.0. Vous devez disposer de la configuration de l’hôte Elasticsearch avant d’installer la version 2.4.0.
Pour plus d'informations, consultez la section :
Installation et configuration d’Elasticsearch
Installation et configuration d’Opensearch
Installation et configuration de Live Search

Cet article propose une solution pour modifier le moteur de recherche d’Adobe Commerce à l’aide de l’Administration de Commerce si le champ Moteur de recherche n’est pas affiché ou si la case à cocher Utiliser la valeur système est grisée et n’est pas accessible.

Description description

Environnement

  • Adobe Commerce On-Premise : 2.4.X

  • Adobe Commerce sur les infrastructures cloud :

    • Version : 2.4.X
    • Architecture de plan Starter et Pro
  • MySQL, Elasticsearch, Opensearch, Live Search : toutes les versions prises en charge

Modification du moteur de recherche à l’aide de l’Administration (étapes)

  1. Connectez-vous à Admin en tant qu’administrateur.

  2. Sur le côté gauche de la barre latérale Admin, cliquez sur Magasins.

  3. Sous Paramètres, choisissez Configuration.

  4. Accédez au panneau à gauche sous Catalogue, puis choisissez Catalogue.

  5. Développez la section Recherche catalogue .

    catalog_menu.png

  6. Accédez au champ Moteur de recherche et supprimez la sélection de la case à cocher Utiliser la valeur du système.

  7. Cliquez sur le menu Moteur de recherche et sélectionnez l’une des options disponibles, comme illustré ci-dessous.

    search_engine_menu.png

  8. Cliquez sur Enregistrer la configuration dans le coin supérieur droit de la page.

Problèmes liés à Adobe Commerce On-premise

Problème 1 : le champ Moteur de recherche ne s’affiche pas

Lorsque vous accédez à la section Recherche catalogue, le menu Moteur de recherche ne s’affiche pas du tout.

search_engine_not_display.png

Cause : la vue Magasin n'est pas une configuration par défaut

La vue de magasin pour l’administrateur a été définie sur une valeur autre que Configuration par défaut.

Le moteur de recherche est un ensemble de configurations globales au niveau de l’application, et non de la portée de la boutique. Les magasins d’une application Adobe Commerce ne peuvent pas utiliser différents moteurs de recherche.

Problème 2 : impossible de décocher « Utiliser la valeur du système »

Lorsque vous accédez à la section Recherche catalogue de l’administration, la case à cocher Utiliser la valeur du système est grisée. Vous ne pouvez donc pas supprimer la sélection de la case à cocher pour modifier ultérieurement le moteur de recherche.

Cause

Le moteur de recherche par défaut a été configuré au niveau de la configuration de l’application dans les fichiers app/etc/env.php ou app/etc/config.php et ne peut donc pas être modifié à l’aide de l’administrateur.

Exemple de section avec configuration de moteur de recherche par défaut :

'system'=>
array (
'default'=>
array (
'catalog'=>
array (
'search'=>
array (
'engine'=>'mysql',
),
),
),
),

Résolution resolution

Problème 1 : le champ Moteur de recherche ne s’affiche pas

Solution : définissez la vue du magasin sur la configuration par défaut.

  1. Connectez-vous à Admin en tant qu’administrateur.

  2. Sur le côté gauche de la barre latérale Admin, cliquez sur Magasins.

  3. Accédez à Paramètres et choisissez Configuration.

  4. Dans le coin supérieur gauche, cliquez sur le sélecteur Affichage de la boutique et choisissez Configuration par défaut.

  5. Cliquez sur OK dans la boîte de dialogue de confirmation pour approuver les modifications de l’affichage du magasin.

    change_store_view.png

Documentation connexe : Modification de la portée dans notre guide de l’utilisateur.

Problème 2 : impossible de décocher « Utiliser la valeur du système »

Solution

Supprimez la section avec la configuration de moteur de recherche par défaut des fichiers de configuration app/etc/env.php ou app/etc/config.php.

Articles connexes dans notre documentation destinée aux développeurs

Fichiers de configuration Adobe Commerce dans le Guide de configuration d’Adobe Commerce

Adobe Commerce sur les infrastructures cloud

Le changement de moteur de recherche à l’aide de l’Administration n’est pas disponible dans Adobe Commerce sur l’infrastructure cloud, en raison de la manière dont cette infrastructure a été organisée.

Pendant le processus de déploiement, les scripts de déploiement d’Adobe Commerce sur l’infrastructure cloud vérifient si Elasticsearch a été déclaré dans la variable MAGENTO_CLOUD_RELATIONSHIPS. S’il est déclaré, Elasticsearch est sélectionné comme moteur de recherche principal et configuré automatiquement ; le moteur de recherche MySQL devient inaccessible dans l’administration. Si la relation Elasticsearch n’a pas été déclarée, MySQL est défini sur actif et Elasticsearch devient inaccessible.

Il n’est pas recommandé de modifier les fichiers de configuration app/etc/env.php ou app/etc/config.php directement dans votre environnement cloud. C’est pourquoi la modification de ces fichiers pour rendre le moteur Elasticsearch à afficher dans la section Administration (la solution recommandée dans la section précédente) ne s’applique pas à votre projet cloud.

Modification du moteur de recherche dans les environnements d’évaluation et de production

Avant de passer du moteur de recherche MySQL à Elasticsearch sur vos environnements d’évaluation et de production, assurez-vous d’avoir au préalable soumis un ticket d’assistance demandé à activer Elasticsearch sur l’environnement et que le ticket a été résolu avec succès.

Pour modifier le moteur de recherche utilisé dans vos environnements d’évaluation et de production, modifiez la variable d’environnement SEARCH_CONFIGURATION dans votre fichier .magento.env.yaml sur votre environnement local, puis envoyez les modifications aux environnements d’intégration et d’évaluation/de production pour que les modifications prennent effet.

Si vous passez à Elasticsearch 7, la variable SEARCH_CONFIGURATION dans le fichier .magento.env.yaml obtenu peut se présenter comme suit :

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: elasticsearch7
     elasticsearch_server_hostname: hostname
     elasticsearch_server_port: '12345'
     elasticsearch_index_prefix: magento
     elasticsearch_server_timeout: '15'

Si vous passez à Opensearch (dans les versions 2.4.6 et ultérieures,) la variable SEARCH_CONFIGURATION dans le fichier .magento.env.yaml obtenu peut se présenter comme suit :

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: opensearch
     elasticsearch_server_hostname: hostname
     elasticsearch_server_port: '12345'
     elasticsearch_index_prefix: magento
     elasticsearch_server_timeout: '15'

Si vous passez à la recherche en direct, la variable SEARCH_CONFIGURATION dans le fichier .magento.env.yaml obtenu peut se présenter comme suit :

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: livesearch

Documentation connexe

Base de connaissances du support
Documentation destinée aux développeurs et développeuses
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f