No se puede cambiar el motor de búsqueda mediante Commerce Admin (no se puede acceder al menú del motor de búsqueda)
Advertencia: El motor de búsqueda del catálogo MySQL se eliminará en Adobe Commerce 2.4.0. Debe tener el host de Elasticsearch configurado antes de instalar la versión 2.4.0.
Consulte:
Instalar y configurar Elasticsearch
Instalar y configurar Opensearch
Instalar y configurar Live Search
Este artículo proporciona una solución para cambiar el motor de búsqueda de Adobe Commerce mediante el administrador de Commerce si no se muestra el campo Motor de búsqueda o si la casilla de verificación Usar valor del sistema está atenuada y no se puede acceder a ella.
Descripción
Entorno
-
Adobe Commerce local: 2.4.X
-
Adobe Commerce en la infraestructura en la nube:
- Versión: 2.4.X
- Arquitectura de plan Starter y Pro
-
MySQL, Elasticsearch, Opensearch, Live Search: todas las versiones compatibles
Cambiar el motor de búsqueda mediante el administrador (pasos)
-
Inicie sesión en Admin como administrador.
-
En el lado izquierdo de la barra lateral Admin, haz clic en Tiendas.
-
En Configuración, elija Configuración.
-
Vaya al panel de la izquierda en Catálogo y elija Catálogo.
-
Expanda la sección Búsqueda en el catálogo.
-
Vaya al campo Motor de búsqueda y quite la selección de la casilla de verificación Usar valor del sistema.
-
Haga clic en el menú Motor de búsqueda y seleccione una de las opciones disponibles como se muestra a continuación.
-
Haga clic en Guardar configuración en la esquina superior derecha de la página.
Problemas con Adobe Commerce local
Problema 1: No se muestra el campo del motor de búsqueda
Cuando accede a la sección Búsqueda en el catálogo, el menú Motor de búsqueda no se muestra en absoluto.
Causa: la vista de la tienda no es una configuración predeterminada
La vista de tienda para el administrador se ha establecido en cualquier valor distinto de Configuración predeterminada.
El motor de búsqueda es una configuración global establecida en el nivel de aplicación, no en el ámbito de la tienda. Las tiendas dentro de una aplicación de Adobe Commerce no pueden utilizar motores de búsqueda diferentes.
Problema 2: No se puede desmarcar "Usar valor del sistema"
Cuando accede a la sección Búsqueda en el catálogo del administrador, la casilla de verificación Usar valor del sistema aparece atenuada, por lo que no puede quitar la selección de la casilla de verificación para cambiar posteriormente el motor de búsqueda.
Causa
El motor de búsqueda predeterminado se ha configurado en el nivel de configuración de la aplicación en los archivos app/etc/env.php
o app/etc/config.php
y, por lo tanto, no se puede cambiar con el administrador.
Ejemplo de la sección con la configuración predeterminada del motor de búsqueda:
'system'=>
array (
'default'=>
array (
'catalog'=>
array (
'search'=>
array (
'engine'=>'mysql',
),
),
),
),
Resolución
Problema 1: No se muestra el campo del motor de búsqueda
Solución: establezca la vista de la tienda en la configuración predeterminada
-
Inicie sesión en Admin como administrador.
-
En el lado izquierdo de la barra lateral Admin, haz clic en Tiendas.
-
Vaya a Configuración y elija Configuración.
-
En la esquina superior izquierda, haga clic en el selector Vista de tienda y elija Configuración predeterminada.
-
Haz clic en Aceptar en el cuadro de diálogo de confirmación para aprobar los cambios en la vista de la tienda.
Documentación relacionada: Cambiando el ámbito en nuestra guía de usuario.
Problema 2: No se puede desmarcar "Usar valor del sistema"
Solución
Quite la sección con la configuración predeterminada del motor de búsqueda de los archivos de configuración app/etc/env.php
o app/etc/config.php
.
Artículos relacionados en nuestra documentación para desarrolladores
Archivos de configuración de Adobe Commerce en la Guía de configuración de Adobe Commerce
Adobe Commerce en la infraestructura en la nube
El cambio de motores de búsqueda mediante el administrador no está disponible en Adobe Commerce en las infraestructuras en la nube, debido a la forma en que se ha organizado esta.
Durante el proceso de implementación, los scripts de implementación de Adobe Commerce en la nube comprueban si Elasticsearch se ha declarado en la variable MAGENTO_CLOUD_RELATIONSHIPS
. Si se declara, Elasticsearch se selecciona como motor de búsqueda activo y se configura automáticamente; el motor de búsqueda MySQL se vuelve inaccesible en el administrador. Si no se ha declarado la relación de Elasticsearch, MySQL se establece como activa y Elasticsearch se vuelve inaccesible.
No se recomienda editar los archivos de configuración de app/etc/env.php
o app/etc/config.php
directamente en su entorno de nube; por eso, cambiar estos archivos para que el motor de Elasticsearch se muestre en Admin (la solución que recomendamos en la sección anterior) no es aplicable a su proyecto de nube.
Cambiar el motor de búsqueda en los entornos de ensayo y producción
Antes de cambiar el motor de búsqueda de MySQL a Elasticsearch en los entornos de ensayo y producción, asegúrese de haber enviado anteriormente un vale de asistencia solicitando habilitar Elasticsearch en el entorno y de que el vale se haya resuelto correctamente.
Para cambiar el motor de búsqueda usado en los entornos de Ensayo y Producción, cambie la variable de entorno SEARCH_CONFIGURATION
en el archivo .magento.env.yaml
de su entorno local y, a continuación, inserte los cambios en los entornos de Integración y Ensayo/Producción para que los cambios surtan efecto.
Si cambia a Elasticsearch 7, la variable SEARCH_CONFIGURATION
del archivo .magento.env.yaml
resultante podría tener el siguiente aspecto:
stage:
deploy:
SEARCH_CONFIGURATION:
engine: elasticsearch7
elasticsearch_server_hostname: hostname
elasticsearch_server_port: '12345'
elasticsearch_index_prefix: magento
elasticsearch_server_timeout: '15'
Si cambia a Opensearch (en 2.4.6 y versiones posteriores), la variable SEARCH_CONFIGURATION
del archivo .magento.env.yaml
resultante podría tener el siguiente aspecto:
stage:
deploy:
SEARCH_CONFIGURATION:
engine: opensearch
elasticsearch_server_hostname: hostname
elasticsearch_server_port: '12345'
elasticsearch_index_prefix: magento
elasticsearch_server_timeout: '15'
Si va a cambiar a Live Search, la variable SEARCH_CONFIGURATION
del archivo .magento.env.yaml
resultante podría tener el siguiente aspecto:
stage:
deploy:
SEARCH_CONFIGURATION:
engine: livesearch
Documentación relacionada
Base de conocimiento de asistencia
Documentación para desarrolladores
- Configurar el servicio de Elasticsearch
- Generar e implementar (documentación sobre el archivo de configuración de
.magento.env.yaml
) - Implementar variables (sección SEARCH_CONFIGURATION)
- Servicios (documentación sobre el archivo de configuración de
.magento/services.yaml
) - Búsqueda en directo