Configurazione per il successo con Live Search
Adobe Commerce Live Search e Catalog Service collaborano per fornire una soluzione di ricerca efficiente, pertinente e intuitiva che consenta ai clienti di trovare rapidamente ciò di cui hanno bisogno. In particolare, Catalog Service fa emergere i dati del catalogo per i servizi SaaS, ad esempio Live Search da utilizzare.
Questo articolo fornisce istruzioni dettagliate per l'implementazione di Live Search con Catalog Service.
Pubblico
Questo articolo è destinato agli sviluppatori o agli integratori di sistemi del team, responsabili dell’installazione e della configurazione dell’istanza di Adobe Commerce.
Requisiti
- Adobe Commerce 2.4.4+
- PHP versione 8.1, 8.2 o 8.3
- Composer
Piattaforme supportate
- Adobe Commerce on Cloud (ECE) : 2.4.4+
- Adobe Commerce on-prem (EE) : 2.4.4+
Panoramica del flusso di lavoro
A un livello avanzato, l'onboarding di Live Search richiede:
- Installa l'estensione Live Search
- Configurare le chiavi API
- Sincronizza i dati del catalogo
- Verifica che i dati del catalogo siano stati esportati
- Configura i dati
- Verifica la connessione
- Verifica che gli eventi acquisiscano i dati
- Personalizza la vetrina
1. Installare l'estensione Live Search
Live Search è installato come estensione da Adobe Marketplace a Composer. Dopo aver installato e configurato Live Search, l'Adobe Commerce inizia a condividere i dati di ricerca e catalogo con i servizi SaaS. A questo punto, Amministratore utenti possono impostare, personalizzare e gestire facet di ricerca, sinonimi e regole di merchandising.
-
Verificare che processi cron e indicizzatori siano in esecuzione.
note important IMPORTANT A causa dell’annuncio di fine del supporto di Elasticsearch 7 relativo ad agosto 2023, si consiglia a tutti i clienti di Adobe Commerce di migrare al motore di ricerca OpenSearch 2.x. Per informazioni sulla migrazione del motore di ricerca durante un aggiornamento del prodotto, vedere Migrazione a OpenSearch nella Guida all'aggiornamento. -
Scarica il pacchetto
live-search
da Adobe Marketplace. -
Esegui quanto segue dalla riga di comando:
code language-bash composer require magento/live-search
Se si sta aggiungendo l'estensione Live Search a un'installazione di Adobe Commerce new, eseguire il comando seguente per disabilitare temporaneamente OpenSearch e i moduli correlati e installare Live Search. Quindi, procedere al punto 4.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Se stai aggiungendo l'estensione Live Search a un'installazione di Adobe Commerce esistente, esegui la procedura seguente per disabilitare i moduli Live Search che forniscono i risultati della ricerca della vetrina. Quindi, procedere al punto 4:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch continua a gestire le richieste di ricerca dalla vetrina mentre il servizio Live Search sincronizza i dati del catalogo e indicizza i prodotti in background.
-
Esegui quanto segue:
code language-bash bin/magento setup:upgrade
-
Verificare che i seguenti indicizzatori siano impostati su "Aggiorna in base alla pianificazione":
- Feed prodotto
- Feed variante prodotto
- Feed attributi catalogo
- Feed prezzi prodotto
- Feed dati del sito Web ambiti
- Feed di dati dei gruppi di clienti per ambiti
- Feed categorie
- Feed di autorizzazioni categoria
-
Se stai installando Live Search in una nuova istanza di Commerce, l'operazione è terminata e puoi passare a 2. Configurare la sezione delle chiavi API. Se stai installando Live Search in un’istanza Commerce esistente, procedi al passaggio successivo.
-
Eseguire i seguenti comandi per abilitare l'estensione Live Search, disabilitare OpenSearch ed eseguire
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
Installa Live Search versione beta
Questa versione beta supporta tre nuove funzionalità nella query productSearch
:
-
Ricerca a livelli - Ricerca in un altro contesto di ricerca - Con questa funzionalità è possibile eseguire fino a due livelli di ricerca per le query di ricerca. Ad esempio:
- Ricerca livello 1 - Ricerca "motor" in "product_attribute_1".
- Ricerca livello 2 - Cercare "numero parte 123" in "product_attribute_2". In questo esempio viene cercata la voce "part number 123" all'interno dei risultati per "motor".
La ricerca con livelli è disponibile sia per l'indicizzazione di ricerca
startsWith
che per quellacontains
come descritto di seguito: -
startsWith indicizzazione ricerca - Effettua la ricerca utilizzando l'indicizzazione
startsWith
. Questa nuova funzionalità consente di:- Ricerca di prodotti in cui il valore dell'attributo inizia con una stringa specifica.
- La configurazione di una ricerca "termina con" consente agli acquirenti di cercare prodotti in cui il valore dell’attributo termina con una stringa specifica. Per abilitare una ricerca "termina con", l’attributo del prodotto deve essere acquisito in ordine inverso e anche la chiamata API deve essere una stringa inversa.
-
contiene l'indicizzazione della ricerca -Cercare un attributo utilizzando l'indicizzazione contains. Questa nuova funzionalità consente di:
-
Ricerca di una query all'interno di una stringa più grande. Ad esempio, se un acquirente cerca il numero di prodotto "PE-123" nella stringa "HAPE-123".
- Nota: questo tipo di ricerca è diverso dalla ricerca frase esistente, che esegue una ricerca di completamento automatico. Ad esempio, se il valore dell’attributo del prodotto è "pantaloni da esterni", la ricerca di una frase restituisce una risposta per "out pan", ma non restituisce una risposta per "o formiche". Una ricerca contiene, tuttavia, restituisce una risposta per "o formiche".
-
Queste nuove condizioni migliorano il meccanismo di filtro delle query di ricerca per perfezionare i risultati della ricerca. Queste nuove condizioni non influiscono sulla query di ricerca principale.
Puoi implementare queste nuove condizioni nella pagina dei risultati della ricerca. Ad esempio, puoi aggiungere una nuova sezione nella pagina in cui l’acquirente può perfezionare ulteriormente i risultati della ricerca. È possibile consentire agli acquirenti di selezionare attributi di prodotto specifici, ad esempio "Produttore", "Numero parte" e "Descrizione". Da lì, eseguono ricerche all'interno di tali attributi utilizzando le condizioni contains
o startsWith
. Per un elenco degli attributi ricercabili, consulta la Guida dell'amministratore.
-
Per installare la versione beta, aggiungi la seguente dipendenza al progetto:
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
Eseguire il commit e inviare le modifiche ai file
composer.json
ecomposer.lock
al progetto cloud. Ulteriori informazioni.Questa versione beta aggiunge Search types caselle di controllo per Autocomplete, Contains e Starts with nell'amministratore. Aggiorna inoltre l'API GraphQL
productSearch
per includere queste nuove funzionalità di ricerca. -
Nell'amministratore, imposta un attributo di prodotto in modo che sia possibile eseguire ricerche e specifica la funzionalità di ricerca per tale attributo, ad esempio Contains (impostazione predefinita) o Starts with. È possibile specificare un massimo di sei attributi da abilitare per Contains e sei attributi da abilitare per Starts with. Per la versione beta, tieni presente che l’amministratore non applica questa restrizione, ma che la applica nelle ricerche API.
-
Consulta la documentazione per sviluppatori per scoprire come aggiornare le chiamate API di Live Search utilizzando le nuove funzionalità di ricerca di
contains
estartsWith
.
Descrizioni dei campi
Autocomplete
Autocomplete
puoi utilizzare contains
nel filtro di ricerca. In questo caso, la query di ricerca in contains
restituisce una risposta di ricerca di tipo completamento automatico. Questo Adobe consiglia di utilizzare questo tipo di ricerca per i campi di descrizione, che in genere contengono più di 50 caratteri.Contains
contains
nel filtro di ricerca. Per ulteriori informazioni, consulta le limitazioni.Starts with
startsWith
nel filtro di ricerca.2. Configurare le chiavi API
Per connettere Live Search a un'installazione di Adobe Commerce sono necessari la chiave API di Adobe Commerce e la chiave privata associata. La chiave API viene generata e mantenuta nell'account del titolare della licenza Commerce, che può condividerla con lo sviluppatore o l'integratore di sistemi. Lo sviluppatore può quindi creare e gestire gli spazi dati SaaS per conto del titolare della licenza. Se disponi già di un set di chiavi API, non è necessario rigenerarle.
Scopri come configurare le chiavi API nell’articolo Commerce Services Connector.
3. Sincronizzare i dati del catalogo synchronize-catalog-data
Live Search sposta i dati del catalogo nell'infrastruttura SaaS di Adobe. I dati vengono indicizzati e i risultati della ricerca vengono consegnati da questo indice direttamente alla vetrina. A seconda delle dimensioni e della complessità, l’indicizzazione può richiedere da 30 minuti a un paio d’ore.
Per avviare la sincronizzazione iniziale dei dati del catalogo con i servizi SaaS, eseguire i comandi seguenti nell'ordine indicato:
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
Quando si eseguono questi comandi, inizia la sincronizzazione iniziale dei dati del catalogo con i servizi SaaS.
cron
viene eseguito per sincronizzare i dati con i servizi SaaS.Monitorare l’avanzamento della sincronizzazione
Puoi visualizzare i dati sincronizzati e condivisi utilizzando Data Management Dashboard. Questa dashboard fornisce informazioni utili sulla disponibilità di dati di prodotto per la vetrina, garantendo che possano essere visualizzati immediatamente agli acquirenti.
È inoltre possibile eseguire i comandi di sincronizzazione e risolvere i problemi relativi al processo di sincronizzazione utilizzando Commerce CLI e i registri delle estensioni di esportazione dei dati.
Aggiornamenti futuri del prodotto
Dopo la sincronizzazione iniziale, possono essere necessari fino a 15 minuti perché gli aggiornamenti incrementali dei prodotti siano disponibili per la ricerca nella vetrina. Per ulteriori informazioni, consulta Aggiornamenti dei prodotti in streaming nella documentazione di indicizzazione.
4. Verificare che i dati siano stati esportati verify-export
Per verificare se i dati del catalogo sono stati esportati da Adobe Commerce e sincronizzati con Live Search, sono disponibili alcune opzioni:
-
Cercare le voci nelle tabelle seguenti:
cde_products_feed
cde_product_attributes_feed
note note NOTE Se si verifica un errore table does not exist
, cercare le voci nelle tabellecatalog_data_exporter_products
ecatalog_data_exporter_product_attributes
. Questi nomi di tabella vengono utilizzati in Live Search versioni precedenti alla 4.2.1. -
Utilizza il parco giochi GraphQL con la query predefinita per verificare quanto segue:
- Il conteggio dei prodotti restituito si avvicina a quello previsto per la visualizzazione Store.
- Vengono restituiti i facet.
Per ulteriori informazioni, vedere Live Search catalogo non sincronizzato nella Knowledge Base del supporto tecnico.
5. Configurare i dati
La corretta configurazione dei dati di prodotto garantisce buoni risultati di ricerca per i clienti. In questa sezione, abiliti i widget per l’elenco dei prodotti e assegna le categorie.
Abilita widget elenco prodotti
Quando si installa Live Search 4.0.0+, i widget dell'elenco prodotti sono attivati per impostazione predefinita. Quando i widget sono attivati, viene utilizzato un componente diverso dell’interfaccia utente per la pagina dei risultati della ricerca e per la pagina dell’elenco dei prodotti per la navigazione delle categorie. Questo componente dell'interfaccia utente effettua chiamate dirette all'API Catalog Service, il che si traduce in tempi di risposta più rapidi.
Se la versione di Live Search è precedente alla 4.0.0+, è necessario abilitare manualmente il widget Elenco prodotti.
-
Da Amministratore, passa a Stores > Settings>Configuration.
-
In Live Search, selezionare Storefront Features.
-
Imposta Enable Product Listing Widgets su
Yes
.
Quando si modifica questa configurazione, viene visualizzato il messaggio Page cache is invalidated
. Per salvare le modifiche, è necessario svuotare la cache del Magento.
-
Accedere alla pagina Gestione cache effettuando una delle operazioni seguenti:
- Fare clic sul collegamento Cache Management nel messaggio sopra l'area di lavoro.
- Nella barra laterale Admin, passa a System > Tools>Cache Management.
-
Selezionare la configurazione Cache Type e fare clic su Flush Magento Cache.
Le modifiche alla vetrina vengono apportate subito dopo il flushing della cache.
Assegna categorie
I prodotti restituiti in Live Search devono essere assegnati a una categoria. In Luma, ad esempio, i prodotti sono inseriti in categorie come "Uomini", "Donne" e "Attrezzi". Sono impostate anche delle sottocategorie per "Tops", "Bottoms" e "Watches". Queste assegnazioni di categoria migliorano la granularità quando si filtrano.
6. Verificare la connessione test-connection
Con i dati del catalogo ora in SaaS, verifica che i dati del prodotto vengano restituiti nei seguenti scenari:
- La casella Search restituisce correttamente i risultati
- La ricerca delle categorie restituisce correttamente i risultati
- I facet sono disponibili come filtri nelle pagine dei risultati di ricerca
Se tutto funziona correttamente, Live Search è installato, connesso e pronto all'uso.
Se si verificano problemi nella vetrina, controllare il file var/log/system.log
per individuare eventuali errori o errori di comunicazione API sul lato servizi.
Per consentire a Live Search di attraversare un firewall, aggiungere commerce.adobe.io
al inserisco nell'elenco Consentiti di.
7. Verificare che gli eventi acquisiscano i dati
Assicurati che gli eventi storefront distribuiti sul tuo sito funzionino. Questo è particolarmente importante per le implementazioni headless.
- Rivedi gli eventi necessari per Live Search.
- Assicurati che il dashboard di Live Search visualizzi i dati dagli ambienti non di produzione.
- Verifica raccolta eventi. Mentre questa pagina è nella guida di Product Recommendations, i passaggi di verifica si applicano anche a Live Search.
8. Personalizza per la vetrina
Hai installato l'estensione Live Search, hai sincronizzato, convalidato e configurato i tuoi dati. Il passaggio successivo consiste nel verificare che i widget Live Search siano conformi all'aspetto del tuo Negozio.
Puoi assegnare uno stile ai widget popover e PLP definendo regole CSS personalizzate in base alle esigenze. Consulta Elementi Popover di stile e widget pagina elenco prodotti.
Se desideri estendere la funzionalità dei widget, il codice sorgente per ciascuno di essi è disponibile in un repository pubblico.
In questo scenario, puoi personalizzare il JavaScript in base alle tue esigenze e quindi ospitare il codice personalizzato sulla CDN. Questo script personalizzato comunica con il servizio Live Search e restituisce i risultati come normale, consentendo di controllare la funzionalità del widget.
Aggiornamento di Live Search update
Prima di aggiornare Live Search, esegui quanto segue dalla riga di comando per verificare la versione di Live Search installata:
composer show magento/module-live-search | grep version
Per aggiornare Live Search, eseguire quanto segue dalla riga di comando:
composer update magento/live-search --with-dependencies
Per eseguire l'aggiornamento a una versione principale, ad esempio da 3.1.1 a 4.0.0, modificare il file .json
principale del progetto come segue:Composer
-
Se la versione di
magento/live-search
attualmente installata è3.1.1
o inferiore e si sta eseguendo l'aggiornamento alla versione4.0.0
o successiva, eseguire il comando seguente prima dell'aggiornamento:code language-bash bin/magento module:enable Magento_AdvancedSearch
Per informazioni sulla versione di
magento/live-search
attualmente installata, eseguire il comando seguente:code language-bash composer show magento/live-search
-
Aprire il file radice
composer.json
e cercaremagento/live-search
. -
Nella sezione
require
, aggiornare il numero di versione come segue:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Salva
composer.json
. Quindi, esegui quanto segue dalla riga di comando:code language-bash composer update magento/live-search --with-dependencies
Disinstallazione di Live Search uninstall
Per disinstallare Live Search, fare riferimento a Moduli di disinstallazione.
Live Search pacchetti packages
L'estensione Live Search è costituita dai pacchetti seguenti:
module-live-search
module-live-search-adapter
- Sfoglia categorie - Indirizza le richieste dalla navigazione superiore della vetrina al servizio di ricerca.
- Ricerca globale - Indirizza le richieste dalla casella Ricerca rapida in alto a destra della vetrina al servizio Live Search.
module-live-search-storefront-popover
Live Search dipendenze dependencies
Il metapackage Composer per installare l'estensione Live Search include le dipendenze del modulo seguenti.
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
Concetti avanzati
Nelle sezioni seguenti vengono forniti argomenti più avanzati quando si utilizzano Live Search e Catalog Service.
Endpoint
Live Search comunica attraverso l'endpoint in https://catalog-service.adobe.io/graphql
.
Poiché Live Search non ha accesso al database completo dei prodotti, le API principali di GraphQL e Commerce GraphQL per Live Search non dispongono della parità completa.
L’Adobe consiglia di chiamare direttamente le API SaaS, in particolare l’endpoint Catalog Service.
- Migliorare le prestazioni e ridurre il carico del processore ignorando il database Commerce/processo Graphql
- Sfruttare la federazione Catalog Service per chiamare Live Search, Catalog Service e Product Recommendations da un singolo endpoint.
Per alcuni casi d'uso, potrebbe essere meglio chiamare Catalog Service per i dettagli del prodotto e casi simili. Per ulteriori informazioni, vedere refineProduct.
Se hai un'implementazione headless personalizzata, vedi le Live Search implementazioni di riferimento:
La raccolta automatica dei dati di interazione dell’utente non funziona per impostazione predefinita quando non si utilizzano i componenti standard come l’adattatore di ricerca, i widget Luma o i widget CIF AEM. Adobe Sensei utilizza i dati raccolti per il merchandising intelligente e il tracciamento delle prestazioni. Per risolvere questo problema, devi sviluppare una soluzione personalizzata per implementare questa raccolta dati in modo headless.
La versione più recente di Live Search utilizza già Catalog Service.
Supporto linguistico
Live Search widget supportano le seguenti lingue:
Se il widget rileva che l’impostazione della lingua di amministrazione di Commerce corrisponde a una lingua supportata, per impostazione predefinita viene utilizzata tale lingua. In caso contrario, il widget viene impostato automaticamente su Inglese. In Amministrazione, l'impostazione della lingua viene configurata passando a Stores> Settings >Configuration > General> Country Options.
Gli amministratori possono inoltre impostare la lingua dell'indice di ricerca per garantire risultati di ricerca migliori.
Archivio del codice widget
Il codice per il widget della pagina di elenco dei prodotti e il widget del campo Live Search è disponibile per il download da GitHub.
Gli sviluppatori che hanno accesso al codice possono personalizzare completamente il suo funzionamento e aspetto. Ospitano il codice sui propri server, ma utilizzano comunque il servizio Live Search.
Estensione Esportazione dati
Dopo l’abilitazione di Live Search, l’estensione Esportazione dati sincronizza i dati Commerce tra l’applicazione Commerce e Live Search. In questo modo i dati Commerce più aggiornati saranno disponibili nella vetrina. In Admin (Ammin), puoi controllare lo stato di sincronizzazione utilizzando il dashboard Data Management (Gestione dati). È possibile gestire e risolvere i problemi del processo di esportazione dei dati utilizzando CLI e registri di Commerce. Per ulteriori dettagli, vedere la Guida all'esportazione dei dati.
Inventory management
Live Search supporta le funzionalità Inventory management in Commerce (precedentemente noto come Multi-Source Inventory o MSI). Per abilitare il supporto completo, è necessario aggiornare il modulo di dipendenza commerce-data-export
alla versione 102.2.0+.
Live Search restituisce un valore booleano che indica se un prodotto è disponibile all'interno di Inventory management, ma non contiene informazioni sull'origine che contiene il titolo.
Indicizzatore prezzi
I clienti di Live Search possono utilizzare l'Indicizzatore prezzi SaaS, che fornisce aggiornamenti più rapidi per la modifica del prezzo e tempi di sincronizzazione.
Supporto del prezzo
I widget Live Search supportano la maggior parte dei tipi di prezzo supportati da Adobe Commerce, ma non tutti.
Attualmente sono sostenuti i prezzi di base. I prezzi avanzati non supportati sono:
- Costo
- Prezzo minimo annunciato
Esaminare Mesh API per calcolare i prezzi più complessi.
Il formato del prezzo supporta l'impostazione di configurazione delle impostazioni locali nell'istanza di Commerce: Archivi > Impostazioni > Configurazione > Generale > Generale > Opzioni locali > Impostazioni internazionali.
Supporto per vetrina headless
Facoltativamente, potrebbe essere necessario installare il modulo module-data-services-graphql
che espande la copertura GraphQL esistente dell'applicazione per includere i campi necessari per la raccolta dei dati comportamentali della vetrina.
composer require magento/module-data-services-graphql
Questo modulo aggiunge contesti aggiuntivi alle query GraphQL:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
Supporto B2B
Live Search supporta la funzionalità B2B con ulteriori limitazioni.
Supporto PWA
Live Search funziona con PWA Studio, ma gli utenti potrebbero vedere lievi differenze rispetto ad altre implementazioni di Commerce. Le funzionalità di base, come la ricerca e la pagina di elenco dei prodotti, funzionano in Venia, ma alcune permutazioni di Graphql potrebbero non funzionare correttamente. Potrebbero esserci anche differenze di prestazioni.
- L'attuale implementazione di PWA di Live Search richiede più tempo di elaborazione per restituire i risultati della ricerca rispetto a Live Search con la vetrina nativa di Commerce.
- Live Search in PWA non supporta gestione eventi. Di conseguenza, la generazione di rapporti di ricerca e il merchandising intelligente non funzionano sui PWA storefront.
- Quando si utilizza PWA Studi, GraphQL non supporta il filtro diretto per
description
,name
,short_description
, ma questi campi possono essere restituiti con un filtro più generale.
Per utilizzare Live Search con PWA Studio, gli integratori devono anche:
-
Installa livesearch-storefront-utils.
-
Impostare
environmentId
nell'oggettostoreDetails
.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: "$", }, };
Cookie
Live Search raccoglie i dati di interazione dell'utente come parte della funzionalità di base e i cookie vengono utilizzati per memorizzare tali dati. Quando raccoglie informazioni sull’utente, quest’ultimo deve accettare di memorizzare i cookie. Live Search e Product Recommendations condividono il flusso di dati e quindi lo stesso meccanismo di cookie. Ulteriori informazioni sono disponibili in Gestione delle restrizioni dei cookie.