Configurado correctamente con Live Search
Adobe Commerce Live Search y Catalog Service trabajan juntos para proporcionar una solución de búsqueda eficaz, relevante e intuitiva que permita a sus clientes encontrar rápidamente lo que necesitan exactamente. Específicamente, Catalog Service muestra los datos del catálogo para servicios SaaS, como Live Search para usar.
Este artículo proporciona instrucciones paso a paso para implementar Live Search con Catalog Service.
Público
Este artículo está dirigido al desarrollador o integrador de sistemas de su equipo, responsable de instalar y configurar la instancia de Adobe Commerce.
Requisitos
- Adobe Commerce 2.4.4+
- Versión 8.1, 8.2 u 8.3 de PHP
- Composer
Plataformas compatibles
- Adobe Commerce en la nube (ECE) : 2.4.4+
- Adobe Commerce local (EE) : 2.4.4+
Resumen de flujo de trabajo
En un nivel superior, la incorporación de Live Search requiere que:
- Instalar la extensión Live Search
- Configurar las claves API
- Sincronizar los datos del catálogo
- Verificar que se exportaron los datos del catálogo
- Configurar los datos
- Probar la conexión
- Verificar que los eventos están capturando datos
- Personalizar tu tienda
1. Instale la extensión Live Search
Live Search está instalado como una extensión desde Adobe Marketplace hasta Composer. Después de instalar y configurar Live Search, el Adobe Commerce comienza a compartir los datos de la búsqueda y del catálogo con los servicios SaaS. En este punto, los usuarios de Admin pueden configurar, personalizar y administrar las facetas de búsqueda, los sinónimos y las reglas de comercialización.
-
Confirme que se están ejecutando trabajos cron y indexadores.
note important IMPORTANT Debido al anuncio de fin de soporte de Elasticsearch 7 para agosto de 2023, se recomienda que todos los clientes de Adobe Commerce migren al motor de búsqueda OpenSearch 2.x. Para obtener información sobre cómo migrar el motor de búsqueda durante una actualización de producto, consulte Migración a OpenSearch en la Guía de actualización. -
Descargue el paquete
live-search
de Adobe Marketplace. -
Ejecute lo siguiente desde la línea de comandos:
code language-bash composer require magento/live-search
Si agrega la extensión Live Search a una instalación de new Adobe Commerce, ejecute el siguiente comando para deshabilitar OpenSearch y los módulos relacionados temporalmente e instale Live Search. A continuación, continúe con el paso 4.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Si está agregando la extensión Live Search a una instalación de Adobe Commerce existente, ejecute lo siguiente para deshabilitar los módulos Live Search que muestran los resultados de búsqueda de la tienda. A continuación, continúe con el paso 4:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch continúa administrando solicitudes de búsqueda desde la tienda mientras el servicio Live Search sincroniza los datos del catálogo e indexa los productos en segundo plano.
-
Ejecute lo siguiente:
code language-bash bin/magento setup:upgrade
-
Compruebe que los siguientes indexadores estén configurados en "Actualizar según lo programado":
- Fuente de productos
- Fuente de variante del producto
- Fuente de atributos de catálogo
- Fuente de precios de productos
- Fuente de datos del sitio web Ámbitos
- Fuente de datos de grupos de clientes ámbitos
- Fuente de categorías
- Fuente de permisos de categoría
-
Si va a instalar Live Search en una nueva instancia de Commerce, ha terminado y puede saltar a 2. Sección Configurar claves API. Si va a instalar Live Search en una instancia de Commerce existente, continúe con el siguiente paso.
-
Ejecute los siguientes comandos para habilitar la extensión Live Search, deshabilitar OpenSearch y ejecutar
setup
.code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
code language-bash bin/magento setup:upgrade
Instalar la versión beta Live Search
Esta versión beta admite tres nuevas funciones en la consulta productSearch
:
-
Búsqueda por niveles - Buscar en otro contexto de búsqueda - Con esta capacidad, puede realizar hasta dos niveles de búsqueda para sus consultas de búsqueda. Por ejemplo:
- Búsqueda de nivel 1 - Busque "motor" en "product_attribute_1".
- Búsqueda de nivel 2 - Busque "número de pieza 123" en "product_attribute_2". En este ejemplo se busca "número de pieza 123" dentro de los resultados para "motor".
La búsqueda por capas está disponible tanto para la indexación de búsqueda
startsWith
como para la indexación de búsquedacontains
, tal como se describe a continuación: -
comienza con la indexación de búsqueda - La búsqueda usa la indexación
startsWith
. Esta nueva capacidad permite:- Búsqueda de productos en los que el valor del atributo empieza con una cadena determinada.
- Configuración de una búsqueda "termina con" para que los compradores puedan buscar productos en los que el valor del atributo termine con una cadena en particular. Para habilitar una búsqueda "termina con", el atributo del producto debe ingerirse a la inversa y la llamada de API también debe ser una cadena invertida.
-
contiene indización de búsqueda: la búsqueda de un atributo mediante contiene indización. Esta nueva capacidad permite:
-
Búsqueda de una consulta dentro de una cadena más grande. Por ejemplo, si un comprador busca el número de producto PE-123 en la cadena HAPE-123.
- Nota: este tipo de búsqueda es diferente de la búsqueda de frases existente, que realiza una búsqueda de autocompletar. Por ejemplo, si el valor de atributo del producto es "pantalones de exterior", una búsqueda de frase devuelve una respuesta para "sin bandeja", pero no devuelve una respuesta para "u hormigas". Sin embargo, una búsqueda contiene sí devuelve una respuesta para "o hormigas".
-
Estas nuevas condiciones mejoran el mecanismo de filtrado de consultas de búsqueda para restringir los resultados de búsqueda. Estas nuevas condiciones no afectan a la consulta de búsqueda principal.
Puede implementar estas nuevas condiciones en la página de resultados de búsqueda. Por ejemplo, puede agregar una nueva sección en la página donde el comprador pueda restringir aún más los resultados de búsqueda. Puede permitir que los compradores seleccionen atributos de producto específicos, como Fabricante, Número de pieza y Descripción. Desde allí, buscan dentro de esos atributos utilizando las condiciones contains
o startsWith
. Consulte la Guía de administración para obtener una lista de atributos en los que se pueden realizar búsquedas.
-
Para instalar la versión beta, agregue la siguiente dependencia al proyecto:
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
Confirme e inserte los cambios en los archivos de
composer.json
ycomposer.lock
en su proyecto de nube. Más información.Esta versión beta agrega Search types casillas de verificación para Autocomplete, Contains y Starts with en el Administrador. También actualiza la API de GraphQL
productSearch
para incluir estas nuevas funciones de búsqueda. -
En el Administrador, establezca un atributo de producto en el que se pueda buscar y especifique la capacidad de búsqueda para ese atributo, como Contiene (predeterminado) o Comienza con. Puede especificar un máximo de seis atributos que se habilitarán para Contiene y seis atributos que se habilitarán para Comienza con. Para la versión beta, tenga en cuenta que el administrador no aplica esta restricción, pero sí en las búsquedas de API.
-
Consulte la documentación para desarrolladores para obtener información sobre cómo actualizar las llamadas a la API Live Search mediante las nuevas funciones de búsqueda
contains
ystartsWith
.
Descripciones de campos
Autocomplete
Autocomplete
puede usar contains
en el filtro de búsqueda. En este caso, la consulta de búsqueda de contains
devuelve una respuesta de búsqueda de tipo autocompletar. El Adobe recomienda utilizar este tipo de búsqueda para los campos de descripción, que generalmente tienen más de 50 caracteres.Contains
contains
en el filtro de búsqueda. Consulte Limitaciones para obtener más información.Starts with
startsWith
en el filtro de búsqueda.2. Configurar las claves API
La clave de API de Adobe Commerce y su clave privada asociada son necesarias para conectar Live Search a una instalación de Adobe Commerce. La clave de API se genera y se mantiene en la cuenta del titular de la licencia Commerce, que puede compartirla con el desarrollador o el integrador de sistemas. A continuación, el desarrollador puede crear y administrar los espacios de datos SaaS en nombre del titular de la licencia. Si ya tiene un conjunto de claves API, no es necesario que las vuelva a generar.
Aprenda a configurar las claves API en el artículo Conector de servicios de Commerce.
3. Sincronizar los datos del catálogo synchronize-catalog-data
Live Search mueve los datos del catálogo a la infraestructura SaaS de Adobe. Los datos se indexan y los resultados de búsqueda se envían desde este índice directamente a la tienda. Según el tamaño y la complejidad, la indexación puede tardar entre 30 minutos y un par de horas.
Para comenzar la sincronización inicial de los datos del catálogo con los servicios SaaS, ejecute los siguientes comandos en este orden:
bin/magento saas:resync --feed productattributes
bin/magento saas:resync --feed products
bin/magento saas:resync --feed scopesCustomerGroup
bin/magento saas:resync --feed scopesWebsite
bin/magento saas:resync --feed prices
bin/magento saas:resync --feed productoverrides
bin/magento saas:resync --feed variants
bin/magento saas:resync --feed categories
bin/magento saas:resync --feed categoryPermissions
Al ejecutar estos comandos, comienza la sincronización inicial de los datos del catálogo con los servicios SaaS.
cron
para sincronizar los datos con los servicios SaaS.Monitorización del progreso de sincronización
Puede ver los datos que se sincronizan y comparten mediante Panel de administración de datos. Este tablero proporciona información valiosa sobre la disponibilidad de los datos de productos para su tienda, lo que garantiza que se puedan mostrar rápidamente a sus compradores.
También puede ejecutar comandos de sincronización y solucionar problemas del proceso de sincronización mediante la CLI de Commerce y los registros de extensión de exportación de datos.
Futuras actualizaciones de productos
Después de la sincronización inicial, las actualizaciones incrementales de productos pueden tardar hasta 15 minutos en estar disponibles para la búsqueda de tiendas. Para obtener más información, consulte Actualizaciones de productos de transmisión en la documentación de indexación.
4. Compruebe que los datos se han exportado verify-export
Para comprobar si los datos del catálogo se han exportado desde Adobe Commerce y se han sincronizado con Live Search, tiene algunas opciones:
-
Busque entradas en las tablas siguientes:
cde_products_feed
cde_product_attributes_feed
note note NOTE Si recibe un error de table does not exist
, busque las entradas en las tablascatalog_data_exporter_products
ycatalog_data_exporter_product_attributes
. Estos nombres de tabla se usan en Live Search versiones anteriores a la 4.2.1. -
Use GraphQL playground con la consulta predeterminada para comprobar lo siguiente:
- El recuento de productos devuelto está cerca de lo que se espera en la vista de la tienda.
- Se devuelven las facetas.
Para obtener ayuda adicional, consulte Live Search catálogo no sincronizado en la Base de conocimiento de soporte técnico.
5. Configurar los datos
Configurar correctamente los datos del producto garantiza buenos resultados de búsqueda para los clientes. En esta sección, se habilitan los widgets de la lista de productos y se asignan categorías.
Habilitar widgets de lista de productos
Al instalar Live Search 4.0.0+, los widgets de listas de productos se habilitan de forma predeterminada. Cuando los widgets están habilitados, se utiliza un componente de interfaz de usuario diferente para la página de resultados de búsqueda y la página de lista de productos de exploración de categorías. Este componente de interfaz de usuario realiza llamadas directas a la API del servicio de catálogo, lo que resulta en tiempos de respuesta más rápidos.
Si tiene una versión de Live Search anterior a la 4.0.0 o posterior, debe habilitar manualmente el widget de lista de productos.
-
Desde Admin, vaya a Stores > Settings>Configuration.
-
En Live Search, seleccione Storefront Features.
-
Establezca Enable Product Listing Widgets en
Yes
.
Al cambiar esta configuración, aparece el mensaje Page cache is invalidated
. Debe vaciar la caché del Magento para guardar el cambio.
-
Para tener acceso a la página Administración de caché, siga uno de estos procedimientos:
- Haga clic en el vínculo Cache Management en el mensaje situado encima del área de trabajo.
- En la barra lateral Admin, vaya a System > Tools>Cache Management.
-
Seleccione la configuración Cache Type y haga clic en Flush Magento Cache.
Los cambios en la tienda son inmediatos después de vaciar la caché.
Asignar categorías
Los productos devueltos en Live Search deben asignarse a una categoría. En Luma, por ejemplo, los productos se clasifican en categorías como "Hombres", "Mujeres" y "Equipos". También se configuran subcategorías para "Tops", "Bottom" y "Watches". Estas asignaciones de categoría mejoran la granularidad al filtrar.
6. Compruebe la conexión test-connection
Con los datos del catálogo ahora en SaaS, pruebe para asegurarse de que los datos del producto se devuelvan en los siguientes casos:
- La casilla Search devuelve los resultados correctamente
- La exploración de categorías devuelve los resultados correctamente
- Las facetas están disponibles como filtros en las páginas de resultados de búsqueda
Si todo funciona correctamente, Live Search está instalado, conectado y listo para usarse.
Si encuentra problemas en la tienda, compruebe en el archivo var/log/system.log
si hay errores de comunicación de API o errores en el lado de los servicios.
Para permitir que Live Search pase a través de un firewall, agregue commerce.adobe.io
a la lista de permitidos.
7. Compruebe que los eventos capturan datos
Asegúrese de que los eventos de tienda implementados en el sitio funcionen. Esto es especialmente importante para implementaciones sin encabezado.
- Revise los eventos necesarios para Live Search.
- Asegúrese de que el tablero de Live Search muestre los datos de los entornos que no son de producción.
- Verificar la colección de eventos. Mientras esta página se encuentra en la guía Product Recommendations, los pasos de verificación también se aplican a Live Search.
8. Personalizar para tu tienda
Ha instalado la extensión Live Search, ha sincronizado, validado y configurado los datos. El siguiente paso es garantizar que los widgets de Live Search se ajusten al aspecto y la presentación de la tienda.
Puede aplicar estilo a los widgets de ventana emergente y PLP definiendo reglas CSS personalizadas según sea necesario. Ver Elementos emergentes de estilo y widget de página de lista de productos.
Si desea ampliar la funcionalidad de los widgets, el código fuente de cada uno está disponible en un repositorio público.
En esta situación, puede personalizar JavaScript para sus propias necesidades y, a continuación, alojar su código personalizado en su CDN. Este script personalizado se comunica con el servicio Live Search y devuelve los resultados como de costumbre, lo que le permite controlar la funcionalidad del widget.
Actualizando Live Search update
Antes de actualizar Live Search, ejecute lo siguiente desde la línea de comandos para comprobar la versión de Live Search instalada:
composer show magento/module-live-search | grep version
Para actualizar Live Search, ejecute lo siguiente desde la línea de comandos:
composer update magento/live-search --with-dependencies
Para actualizar a una versión principal como de la 3.1.1 a la 4.0.0, edite el archivo raíz Composer .json
del proyecto de la siguiente manera:
-
Si su versión de
magento/live-search
instalada actualmente es3.1.1
o inferior y está actualizando a la versión4.0.0
o superior, ejecute el siguiente comando antes de la actualización:code language-bash bin/magento module:enable Magento_AdvancedSearch
Para obtener información acerca de la versión de
magento/live-search
instalada actualmente, ejecute el siguiente comando:code language-bash composer show magento/live-search
-
Abra el archivo raíz
composer.json
y busquemagento/live-search
. -
En la sección
require
, actualice el número de versión de la siguiente manera:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Guardar
composer.json
. A continuación, ejecute lo siguiente desde la línea de comandos:code language-bash composer update magento/live-search --with-dependencies
Desinstalando Live Search uninstall
Para desinstalar Live Search, consulte Desinstalar módulos.
Live Search paquetes packages
La extensión Live Search consta de los siguientes paquetes:
module-live-search
module-live-search-adapter
- Examen de categorías - Enruta las solicitudes desde la tienda navegación superior al servicio de búsqueda.
- Búsqueda global: enruta las solicitudes desde el cuadro de búsqueda rápida en la parte superior derecha de la tienda al servicio Live Search.
module-live-search-storefront-popover
Dependencias de Live Search dependencies
El metapaquete Composer para instalar la extensión Live Search incluye las siguientes dependencias de módulo.
magento/module-saas-catalog
magento/module-saas-category
magento/module-saas-category-permissions
magento/module-saas-product-override
magento/module-saas-product-variant
magento/module-saas-price
magento/module-saas-scopes
magento/module-bundle-product-data-exporter
magento/module-catalog-inventory-data-exporter
magento/module-catalog-url-rewrite-data-exporter
magento/module-configurable-product-data-exporter
magento/module-parent-product-data-exporter
magento/module-gift-card-product-data-exporter
magento/module-bundle-product-override-data-exporter
data-services
services-id
Conceptos avanzados
Las secciones siguientes proporcionan temas más avanzados al utilizar Live Search y Catalog Service.
Extremo
Live Search se comunica a través del extremo en https://catalog-service.adobe.io/graphql
.
Como Live Search no tiene acceso a la base de datos de productos completa, las API de GraphQL y Commerce Core GraphQL de Live Search no tienen paridad completa.
Adobe recomienda llamar a las API de SaaS directamente, específicamente al punto final del servicio de catálogo.
- Obtenga rendimiento y reduzca la carga del procesador omitiendo el proceso de Graphql/base de datos de Commerce
- Aproveche la federación Catalog Service para llamar a Live Search, Catalog Service y Product Recommendations desde un único extremo.
En algunos casos de uso, es mejor llamar a Catalog Service para obtener detalles del producto y casos similares. Consulte refineProduct para obtener más información.
Si tiene una implementación personalizada sin encabezado, consulte las implementaciones de referencia de Live Search:
AEM CIF La recopilación automática de datos de interacción del usuario no funciona de forma predeterminada cuando no se utilizan los componentes estándar como el adaptador de búsqueda, los widgets de Luma o los widgets de la. Adobe Sensei utiliza estos datos recopilados para la comercialización inteligente y el seguimiento del rendimiento. Para resolver este problema, debe desarrollar una solución personalizada para implementar esta recopilación de datos de forma directa.
La última versión de Live Search ya usa Catalog Service.
Compatibilidad de idiomas
Live Search widgets admiten los siguientes idiomas:
Si el widget detecta que la configuración del idioma de administración de Commerce coincide con un idioma compatible, establece de forma predeterminada ese idioma. De lo contrario, el widget se establece en inglés de forma predeterminada. En el Administrador, la configuración de idioma se establece navegando hasta Stores> Settings >Configuration > General> Country Options.
Los administradores también pueden establecer el idioma de índice de búsqueda para garantizar mejores resultados de búsqueda.
Repositorio de código Widget
El código del widget de página de lista de productos y del widget de campo de Live Search está disponible para su descarga en GitHub.
Los desarrolladores que tienen acceso al código pueden personalizar completamente su funcionamiento y aspecto. Alojan el código en sus propios servidores pero siguen usando el servicio Live Search.
Extensión de Data Export
Una vez habilitada la Live Search, la extensión de exportación de datos sincroniza los datos de Commerce entre la aplicación de Commerce y Live Search. Este proceso garantiza que los datos de Commerce más actuales estén disponibles en la tienda. En Admin, puede comprobar el estado de la sincronización mediante el panel de control de Data Management. Puede administrar y solucionar problemas del proceso de exportación de datos mediante la CLI de Commerce y los registros. Para obtener más información, consulte la Guía de exportación de datos.
Inventory management
Live Search admite las funciones de Inventory management en Commerce (anteriormente conocido como Multi-Source Inventory o MSI). Para habilitar la compatibilidad total, debe actualizar el módulo de dependencia commerce-data-export
a la versión 102.2.0+.
Live Search devuelve un valor booleano que indica si un producto está disponible en Inventory management, pero no contiene información sobre el origen que tiene las existencias.
Indexador de precios
Los clientes de Live Search pueden usar el indexador de precios SaaS, que ofrece actualizaciones de precios más rápidas y tiempo de sincronización.
Tarifa soportada
Los widgets de Live Search admiten la mayoría de los tipos de precio admitidos por Adobe Commerce, pero no todos.
Actualmente, se admiten precios básicos. Los precios avanzados que no son compatibles son:
- Coste
- Precio Mínimo Anunciado
Consulte Malla de API para cálculos de precios más complejos.
El formato de precio admite la configuración regional en la instancia de Commerce: Tiendas > Configuración > Configuración > General > General > Opciones locales > Configuración regional.
Compatibilidad con tienda sin encabezado
Opcionalmente, es posible que tenga que instalar el módulo module-data-services-graphql
que expande la cobertura de GraphQL existente de la aplicación para incluir los campos necesarios para la recopilación de datos de comportamiento de la tienda.
composer require magento/module-data-services-graphql
Este módulo agrega contextos adicionales a las consultas de GraphQL:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
Compatibilidad con B2B
Live Search admite funcionalidad B2B con limitaciones adicionales.
soporte de PWA
Live Search funciona con el PWA Studio, pero los usuarios pueden ver pequeñas diferencias en comparación con otras implementaciones de Commerce. La funcionalidad básica, como la página de búsqueda y la lista de productos, funciona en Venia, pero es posible que algunas permutaciones de Graphql no funcionen correctamente. También puede haber diferencias de rendimiento.
- La implementación actual del PWA Live Search requiere más tiempo de procesamiento para devolver resultados de búsqueda que Live Search con la tienda nativa de Commerce.
- Live Search en el PWA no admite control de eventos. Como resultado, los informes de búsqueda y la comercialización inteligente no funcionan en las tiendas de PWA.
- Al usar PWA Studio, GraphQL no admite el filtrado directamente en
description
,name
,short_description
, pero estos campos se pueden devolver con un filtro más general.
Para usar Live Search con el PWA Studio, los integradores también deben:
-
Instalar livessearch-storefront-utils.
-
Establezca
environmentId
en el objetostoreDetails
.code language-javascript const storeDetails: StoreDetailsProps = { environmentId: <Storefront_ID>, websiteCode: "base", storeCode: "main_website_store", storeViewCode: "default", searchUnitId: searchUnitId, config: { minQueryLength: 5, pageSize: 8, currencySymbol: "$", }, };
Cookies
Live Search recopila datos de interacción del usuario como parte de su funcionalidad base y se utilizan cookies para almacenar estos datos. Al recopilar cualquier información de usuario, el usuario debe aceptar almacenar cookies. Live Search y Product Recommendations comparten el flujo de datos y, por lo tanto, el mismo mecanismo de cookies. Obtenga más información al respecto en Controlar restricciones de cookies.