Konfigurera för slutförande med Live Search
Adobe Commerce Live Search och Catalog Service samarbetar för att tillhandahålla en prestandabaserad, relevant och intuitiv söklösning så att dina kunder snabbt kan hitta precis vad de behöver. Catalog Service hämtar dina katalogdata för SaaS-tjänster, t.ex. Live Search, så att de kan användas.
I den här artikeln finns stegvisa instruktioner för hur du implementerar Live Search med Catalog Service.
Målgrupp
Den här artikeln är avsedd för utvecklare eller systemintegratörer i ditt team som ansvarar för att installera och konfigurera din Adobe Commerce-instans.
Krav
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
Plattformar som stöds
- Adobe Commerce on Cloud (ECE): 2.4.4+
- Adobe Commerce on-prem (EE): 2.4.4+
Översikt över arbetsflödet
På en hög nivå kräver introduktionen av Live Search att du:
1. Installera tillägget Live Search
Live Search installeras som ett tillägg från Adobe Marketplace till Composer. När du har installerat och konfigurerat Live Search börjar Adobe Commerce dela söknings- och katalogdata med SaaS-tjänster. I det här läget kan Admin-användare konfigurera, anpassa och hantera regler för sökning, synonymer och försäljning.
-
Bekräfta att cron-jobb och indexerare körs.
note important IMPORTANT På grund av att supporten för Elasticsearch 7 upphör i augusti 2023 rekommenderas att alla Adobe Commerce-kunder migrerar till sökmotorn OpenSearch 2.x. Mer information om hur du migrerar sökmotorn under en produktuppgradering finns i Migrera till OpenSearch i uppgraderingshandboken. -
Hämta paketet
live-search
från Adobe Marketplace. -
Kör följande från kommandoraden:
code language-bash composer require magento/live-search
Om du lägger till tillägget Live Search i en ny Adobe Commerce-installation kör du följande för att inaktivera OpenSearch och relaterade moduler och installerar Live Search. Fortsätt sedan till steg 4.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Om du lägger till tillägget Live Search i en befintlig Adobe Commerce-installation kör du följande för att tillfälligt inaktivera Live Search-modulerna som hanterar sökresultat för butiker. Fortsätt sedan till steg 4:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch fortsätter att hantera sökbegäranden från butiken medan tjänsten Live Search synkroniserar katalogdata och indexerar produkter i bakgrunden.
-
Kör följande:
code language-bash bin/magento setup:upgrade
-
Kontrollera att följande indexerare är inställda på "Update by Schedule":
- Produktfeed
- Produktvariantfeed
- Matning för katalogattribut
- Produktprisfeed
- Omfattningar för webbplatsdatafeed
- Omfång Datamatning för kundgrupper
- Kategoriflöde
- Kategoribehörighetsfeed
-
Om du installerar Live Search på en ny Commerce-instans är du klar och kan hoppa till 2. Konfigurera API-nycklar för avsnittet. Om du installerar Live Search i en befintlig Commerce-instans fortsätter du till nästa steg.
-
Kör följande kommandon för att aktivera tillägget Live Search, inaktivera OpenSearch och köra
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
2. Konfigurera API-nycklar
Adobe Commerce API-nyckeln och den associerade privata nyckeln krävs för att ansluta Live Search till en installation av Adobe Commerce. API-nyckeln genereras och underhålls på kontot för Commerce-licenshavaren, som kan dela den med utvecklaren eller systemintegratorn. Utvecklaren kan sedan skapa och hantera SaaS Data Spaces för licenshavarens räkning. Om du redan har en uppsättning API-nycklar behöver du inte generera om dem.
Lär dig hur du konfigurerar dina API-nycklar i artikeln Commerce Services Connector .
3. Synkronisera katalogdata synchronize-catalog-data
Live Search flyttar katalogdata till Adobe SaaS-infrastrukturen. Data indexeras och sökresultat levereras från detta index direkt till butiken. Beroende på storlek och komplexitet kan indexeringen ta mellan 30 minuter och några timmar.
Kör följande kommandon i den ordning som du vill börja synkronisera katalogdata till SaaS-tjänster:
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
När du kör dessa kommandon börjar den inledande synkroniseringen av katalogdata till SaaS-tjänster.
cron
körs att synkronisera dina data till SaaS-tjänster.Övervaka synkroniseringsförlopp
Du kan visa data som är synkroniserade och delade med Dashboard för datahantering. Den här instrumentpanelen ger värdefulla insikter om tillgängligheten av produktdata för butiken, så att den snabbt kan visas för kunderna.
Du kan också köra synkroniseringskommandon och felsöka synkroniseringsprocessen med hjälp av Commerce CLI och tilläggsloggarna för dataexport.
Framtida produktuppdateringar
Efter den första synkroniseringen kan det ta upp till 15 minuter innan ytterligare produktuppdateringar blir tillgängliga för butikssökning. Mer information finns i Indexering - Direktuppspelning av produktuppdateringar.
4. Verifiera att data exporterades verify-export
Du kan kontrollera att katalogdata har exporterats från din Adobe Commerce-instans och synkroniserats för Live Search genom att välja något av följande:
-
Leta efter poster i följande tabeller:
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
Använd GraphQL playground med standardfrågan för att verifiera följande:
- Det returnerade antalet produkter är nästan vad du förväntar dig för butiksvyn.
- Ansikten returneras.
Mer hjälp finns i Live Search katalogen har inte synkroniserats i kunskapsbasen med supportfrågor.
5. Konfigurera data
Om du konfigurerar dina produktdata på rätt sätt får du bra sökresultat för dina kunder. I det här avsnittet aktiverar du widgetar för produktlistor och tilldelar kategorier.
Aktivera widgetar för produktlistor
När du installerar Live Search 4.0.0+ aktiveras produktlistwidgetar som standard. När widgetar är aktiverade används en annan UI-komponent för sökresultatsidan och kategoribläddra på produktlistsidan. Den här gränssnittskomponenten gör direkta anrop till katalogtjänstens API, vilket ger snabbare svarstider.
Om du har en Live Search-version som är äldre än 4.0.0+ måste du aktivera produktlistwidgeten manuellt.
-
Gå till Stores > Settings>Configuration från* Admin *.
-
Välj Storefront Features under Live Search.
-
Ange Enable Product Listing Widgets till
Yes
.
När du ändrar den här konfigurationen visas meddelandet Page cache is invalidated
. Du måste tömma cacheminnet i Magento för att spara ändringen.
-
Gå till sidan Cachehantering genom att göra något av följande:
- Klicka på länken Cache Management i meddelandet ovanför arbetsytan.
- Gå till System > Tools>Cache Management på sidofältet_ Admin _.
-
Välj Konfiguration Cache Type och klicka på Flush Magento Cache.
Ändringar i butiken görs omedelbart efter att du tömt cachen.
Tilldela kategorier
Produkter som returneras i Live Search måste tilldelas en kategori. I Luma kan till exempel produkter delas in i kategorier som "Män", "Kvinnor" och "Kugghjul". Underkategorierna är också inställda för "Tops", "Bottom" och "Watches". Detta ger bättre granularitet vid filtrering.
6. Testa anslutningen test-connection
Testa att se till att produktdata returneras i följande scenarier med dina katalogdata nu i SaaS:
- Rutan Search returnerar resultat korrekt
- Kategoribläddring returnerar resultat korrekt
- Ansikten finns som filter på sökresultatsidor
Om allt fungerar som det ska installeras, ansluts och är klart att användas. Live Search
Om du stöter på problem i butiken kontrollerar du om det finns API-kommunikationsfel eller fel i filen var/log/system.log
på tjänstsidan.
Om du vill tillåta Live Search genom en brandvägg lägger du till commerce.adobe.io
i tillåtelselista.
7. Anpassa för butiken
Du har installerat tillägget Live Search, synkroniserat, validerat och konfigurerat dina data. Nu vill du se till att widgetarna för Live Search följer din butiks utseende och känsla.
Du kan formatera widgetarna pover och PLP genom att definiera anpassade CSS-regler efter behov. Se Formatera popostarelement och Sidwidget för produktlista.
Om du vill utöka widgetarnas funktioner är källkoden för varje tillgängligt i en offentlig rapport.
I det här scenariot kan du anpassa JavaScript efter dina egna behov och sedan lägga din anpassade kod på ditt CDN. Det här anpassade skriptet kommunicerar med tjänsten Live Search och returnerar resultatet som vanligt, vilket gör att du kan styra widgetens funktioner.
Uppdaterar Live Search update
Innan du uppdaterar Live Search kör du följande kommandorad för att kontrollera vilken version av Live Search som är installerad:
composer show magento/module-live-search | grep version
Om du vill uppdatera Live Search kör du följande från kommandoraden:
composer update magento/live-search --with-dependencies
Om du vill uppdatera till en huvudversion, som 3.1.1 till 4.0.0, redigerar du projektets rotfil Composer .json
enligt följande:
-
Om din installerade
magento/live-search
-version är3.1.1
eller tidigare och du uppgraderar till version4.0.0
eller senare, kör du följande kommando före uppgraderingen:code language-bash bin/magento module:enable Magento_AdvancedSearch
Om du vill ha information om den installerade versionen av
magento/live-search
kör du följande kommando:code language-bash composer show magento/live-search
-
Öppna rotfilen
composer.json
och sök eftermagento/live-search
. -
I avsnittet
require
ska du uppdatera versionsnumret på följande sätt:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Spara
composer.json
. Kör sedan följande från kommandoraden:code language-bash composer update magento/live-search --with-dependencies
Avinstallerar Live Search uninstall
Information om hur du avinstallerar Live Search finns i Avinstallationsmoduler.
Live Search paket packages
Tillägget Live Search består av följande paket:
module-live-search
module-live-search-adapter
- Kategoribläddring - dirigerar begäranden från butiken top navigation till söktjänsten.
- Global sökning - dirigerar begäranden från rutan snabbsökning i det övre högra hörnet av butiken till tjänsten Live Search.
module-live-search-storefront-popover
Live Search beroenden dependencies
Följande Live Search beroenden har hämtats av Composer.
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
Avancerade begrepp
Följande avsnitt innehåller mer avancerade ämnen när du använder Live Search och Catalog Service.
Slutpunkt
Live Search kommunicerar via slutpunkten vid https://catalog-service.adobe.io/graphql
.
Eftersom Live Search inte har tillgång till den fullständiga produktdatabasen har Live Search GraphQL och Commerce Core GraphQL inte fullständig paritet.
Vi rekommenderar att du anropar SaaS API:er direkt - särskilt katalogtjänstslutpunkten.
- Öka prestanda och minska belastningen på processorn genom att kringgå Commerce databas-/grafikprocess
- Dra nytta av federationen Catalog Service för att anropa Live Search, Catalog Service och Product Recommendations från en enda slutpunkt.
I vissa fall är det kanske bättre att ringa Catalog Service för produktinformation och liknande fall. Mer information finns i refineProduct.
Om du har en anpassad headless-implementering kan du ta en titt på referensimplementeringarna för Live Search:
Om du inte använder standardkomponenterna, som Sökadapter eller widgetar på Luma, eller AEM CIF widgetar, kommer inte händelser (klickströmsdata som matar Adobe Sensei för intelligent marknadsföring och prestandamått) att fungera som de ska och kräver anpassad utveckling för att implementera headless-händelser.
Den senaste versionen av Live Search använder redan Catalog Service.
Språkstöd
Live Search widgetar har stöd för följande språk:
Om widgeten upptäcker att språkinställningen för Commerce Admin (Lagrar > Inställningar > Konfiguration > Allmänt > Landsalternativ) matchar ett språk som stöds används det som standard. I annat fall är widgetarna standard engelska.
Administratörer kan också ange språket för sökindexet för att få bättre sökresultat.
Databas för Widget-kod
Widgeten Produktlistsida och widgeten för Live-sökfält är båda tillgängliga för hämtning från deras github-databas.
Detta gör att utvecklare kan anpassa funktionaliteten och stilen helt och hållet. De här användarna är själva värdar för koden medan de fortfarande utnyttjar tjänsten Live Search.
Dataexporttillägg
När Live Search är aktiverat synkroniserar dataexporttillägget Commerce-data mellan Commerce-programmet och Live Search. Detta säkerställer att de senaste Commerce-uppgifterna finns tillgängliga i butiken. I Admin kan du kontrollera synkroniseringsstatus med hjälp av kontrollpanelen för datahantering. Du kan hantera och felsöka dataexportprocessen med Commerce CLI och loggar. Mer information finns i Dataexportguiden.
Inventory management
Live Search har stöd för Inventory management-funktioner i Commerce (tidigare Multi-Source Inventory, eller MSI). Om du vill aktivera fullständigt stöd måste du uppdatera beroendemodulen commerce-data-export
till version 102.2.0+.
Live Search returnerar ett booleskt meddelande som anger om en produkt är tillgänglig i Inventory management, men inte innehåller information om vilken källa som har aktien.
Prisindexerare
Live Search-kunder kan använda prisindexeraren SaaS som ger snabbare prisändringar och synkroniseringstid.
Prisstöd
Live Search-widgetar har stöd för de flesta, men inte alla, pristyper som stöds av Adobe Commerce.
För närvarande stöds baspriser. Avancerade priser som inte stöds är:
- Kostnad
- Lägsta kampanjpris
Titta på API-nät för mer komplexa prisberäkningar.
Prisformatet stöder de nationella konfigurationsinställningarna i Commerce-instansen: Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt > Lokala alternativ > Språk.
Headless storefront support
Om du vill kan du behöva installera modulen module-data-services-graphql
som utökar programmets befintliga GraphQL-täckning så att den innehåller fält som krävs för beteendedatainsamling i butiken.
composer require magento/module-data-services-graphql
Den här modulen lägger till ytterligare kontexter i GraphQL-frågor:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
Stöd för B2B
Live Search har stöd för B2B-funktioner med ytterligare begränsningar.
Stöd för PWA
Live Search fungerar med PWA Studio, men användare kan se små skillnader jämfört med andra Commerce-implementeringar. Grundläggande funktioner som sök- och produktlistsidor fungerar i Venia, men vissa permutationer av Graphql kanske inte fungerar som de ska. Det kan också finnas prestandaskillnader.
- Den aktuella PWA-implementeringen av Live Search kräver mer bearbetningstid för att returnera sökresultat än Live Search med den ursprungliga Commerce-butiken.
- Live Search i PWA stöder inte händelsehantering. Därför kommer sökrapporter och intelligent varuexponering att fungera.
- Filtrering direkt på
description
,name
,short_description
stöds inte av GraphQL när det används med PWA, men de returneras med ett mer allmänt filter.
Om du vill använda Live Search med PWA Studio måste integratörer också:
-
Installera livesearch-storefront-utils.
-
Ange
environmentId
i objektetstoreDetails
.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 samlar in användarinteraktionsdata som en del av basfunktionen och cookies används för att lagra dessa data. När användaren samlar in användarinformation måste han eller hon godkänna att lagra cookies. Live Search och Product Recommendations delar dataströmmen och därmed samma cookie-mekanism. Läs mer om det i Hantera cookie-begränsningar.