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 eller 8.3
- Composer
- Köra cron-jobb och indexerare
Viktiga uppdateringar
-
Från och med Live Search 3.0.2 paketeras tillägget Catalog Service med installationen.
-
På grund av att supporten för Elasticsearch 7 upphör i augusti 2023 rekommenderar Adobe 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.
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:
- Installera tillägget Live Search
- Konfigurera API-nycklarna
- Synkronisera katalogdata
- Verifiera att katalogdata exporterades
- Konfigurera data
- Testa anslutningen
- Verifiera att händelser hämtar data
- Anpassa din butik
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ök- 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.
Följ dessa anvisningar om du installerar Live Search på en ny Commerce-instans.
-
Bekräfta att cron-jobb och indexerare körs.
-
Använd Composer för att lägga till Live Search-modulen i ditt projekt:
code language-bash composer require magento/live-search --no-update
-
Uppdatera beroenden och installera tillägget:
code language-bash composer update magento/live-search --with-dependencies
-
Inaktivera OpenSearch och relaterade moduler tillfälligt och installera Live Search.
code language-bash bin/magento module:disable Magento_ Magento_Elasticsearch8 Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Elasticsearch fortsätter att hantera sökbegäranden från butiken medan tjänsten Live Search synkroniserar katalogdata och indexerar produkter i bakgrunden.
-
Installera uppdateringarna.
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
När du har verifierat indexerarna är nästa steg att konfigurera API-nycklarna.
Följ dessa anvisningar om du installerar Live Search på en befintlig Commerce-instans.
-
Bekräfta att cron-jobb och indexerare körs.
-
Använd Composer för att lägga till Live Search-modulen i ditt projekt:
code language-bash composer require magento/live-search --no-update
-
Uppdatera beroenden och installera tillägget:
code language-bash composer update magento/live-search --with-dependencies
-
Inaktivera de Live Search-moduler som innehåller sökresultat för butiker.
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.
-
Installera uppdateringarna.
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
-
Aktivera tillägget Live Search och inaktivera OpenSearch (Magento Elasticsearch- och OpenSearch-modulerna).
code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-none bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_Elasticsearch8 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
note note NOTE Inaktivera-kommandot innehåller en lista med Commerce-moduler som stöder OpenSearch. Om din Commerce-instans inte har någon modul installerad visas ett module does not exist
-fel. -
Installera uppdateringarna.
code language-bash bin/magento setup:upgrade
När du har verifierat indexerarna är nästa steg att konfigurera API-nycklarna.
Installera betaversionen av Live Search
Den här betaversionen stöder tre nya funktioner i productSearch
-frågan:
-
Skiktad sökning - Sök i ett annat söksammanhang - Med den här funktionen kan du utföra upp till två söklager för dina sökfrågor. Exempel:
- Lager 1-sökning - Sök efter "motor" i "product_attribute_1
- Layer 2 search - Search for "part number 123" on "product_attribute_2". Det här exemplet söker efter "part number 123" i resultatet för "engine".
Skiktad sökning är tillgänglig för både
startsWith
-sökindexering ochcontains
-sökindexering enligt beskrivningen nedan: -
börjarMed sökindexering - Sök med
startsWith
-indexering. Den nya funktionen gör att:- Söker efter produkter där attributvärdet börjar med en viss sträng.
- Om du konfigurerar en"slutar med"-sökning kan kunderna söka efter produkter där attributvärdet slutar med en viss sträng. Om du vill aktivera sökningen "slutar med" måste produktattributet vara inverterat och API-anropet ska också vara en omvänd sträng.
-
innehåller sökindexering -Sök efter ett attribut som använder innehåller indexering. Den nya funktionen gör att:
-
Söker efter en fråga i en större sträng. Om en kund till exempel söker efter produktnumret "PE-123" i strängen "HAPE-123".
note note NOTE Den här söktypen skiljer sig från den befintliga frassökningen, som utför en automatisk sökning. Om produktattributvärdet till exempel är "utomhusbyxor" returnerar en frassökning ett svar för "out pan", men returnerar inget svar för "or ants". En sökning innehåller emellertid ett svar på "eller ants".
-
De här nya villkoren förbättrar funktionen för filtrering av sökfrågor för att förfina sökresultaten. De här nya villkoren påverkar inte huvudsökfrågan.
Du kan implementera dessa nya villkor på sökresultatsidan. Du kan till exempel lägga till ett nytt avsnitt på sidan där användaren kan förfina sina sökresultat ytterligare. Du kan ge kunderna möjlighet att välja specifika produktattribut, t.ex."Tillverkare","Artikelnummer" och"Beskrivning". Därifrån söker de i dessa attribut med villkoren contains
eller startsWith
. I administratörshandboken finns en lista med sökbara attribut.
-
Om du vill installera betaversionen lägger du till följande beroende i ditt projekt:
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
Genomför och skicka ändringarna till dina
composer.json
- ochcomposer.lock
-filer till ditt molnprojekt. Läs mer.Den här betaversionen lägger till Search types kryssrutor för Autocomplete, Contains och Starts with i Admin. GraphQL-API:t
productSearch
uppdateras också så att de innehåller dessa nya sökfunktioner. -
I Admin anger ett produktattribut som sökbart och anger sökfunktionen för det attributet, till exempel Innehåller (standard) eller Börjar med. Du kan ange högst sex attribut som ska aktiveras för Innehåller och sex attribut som ska aktiveras för Börjar med. För betaversioner bör du vara medveten om att Admin inte tillämpar den här begränsningen, men den tillämpas vid API-sökningar.
-
Läs utvecklardokumentationen om du vill veta mer om hur du uppdaterar Live Search API-anrop med de nya
contains
- ochstartsWith
-sökfunktionerna.
Fältbeskrivningar
Autocomplete
Autocomplete
kan du använda contains
i sökfiltret. Här returnerar sökfrågan i contains
ett automatiskt typsöksvar. Adobe rekommenderar att du använder den här typen av sökning för beskrivningsfält som vanligtvis innehåller fler än 50 tecken.Contains
contains
i sökfiltret. Mer information finns i Begränsningar.Starts with
startsWith
i sökfiltret.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
Live Search flyttar katalogdata till Adobe SaaS-infrastruktur. 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.
Övervaka synkroniseringsförlopp
Använd Instrumentpanelen för datahantering för att övervaka synkroniseringsförloppet. Den här instrumentpanelen ger värdefulla insikter om tillgängligheten av produktdata i din butik, 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 Direktuppspelning av produktuppdateringar i indexeringsdokumentationen.
4. Verifiera att data exporterades
Om du vill kontrollera om katalogdata har exporterats från Adobe Commerce och synkroniserats med Live Search har du några alternativ:
-
Leta efter poster i följande tabeller:
cde_products_feed
cde_product_attributes_feed
note note NOTE Om du får ett table does not exist
-fel söker du efter poster i tabellernacatalog_data_exporter_products
ochcatalog_data_exporter_product_attributes
. De här tabellnamnen används i Live Search tidigare versioner än 4.2.1. -
Använd GraphQL playground med standardfrågan (se GraphQL reference för mer information) 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 widgetar för produktlistor som standard. När widgetar är aktiverade används en annan UI-komponent för sökresultaten och kategoribläddra bland produktlistsidor. 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 från Settings Admin Configuration.
-
Välj Live Search under Storefront Features.
-
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 Magento-cachen för att spara ändringarna.
-
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 på sidofältet Tools Admin Cache Management.
-
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". Dessa kategoritilldelningar förbättrar granulariteten vid filtrering.
6. Testa anslutningen
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. Verifiera att händelser samlar in data.
Se till att butikshändelserna som distribueras till din plats fungerar. Den här kontrollen är särskilt viktig för headless-implementeringar.
- Granska de händelser som krävs för Live Search.
- Kontrollera att Live Search-kontrollpanelen visar data från icke-produktionsmiljö(er).
- Verifiera händelsesamling.
8. Anpassa för butiken
Du har installerat tillägget Live Search, synkroniserat, validerat och konfigurerat dina data. Nästa steg är att 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 postarelement 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
Innan du uppdaterar Live Search bör du kontrollera vilken version av Live Search som har installerats med Composer.
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
Information om hur du avinstallerar Live Search finns i Avinstallationsmoduler.
Live Search paket
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 fältet snabbsökning till tjänsten Live Search. Snabbsöksfältet finns i det övre högra hörnet av butikssidan.
module-live-search-storefront-popover
Live Search beroenden
Metapaketet Composer som installerar tillägget Live Search innehåller följande modulberoenden.
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 API:erna för GraphQL och Commerce inte fullständig paritet.
Adobe 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:
Automatisk insamling av användarinteraktionsdata fungerar inte som standard om du inte använder standardkomponenter som sökadaptern, Luma-widgetar eller AEM CIF-widgetar. Adobe Sensei använder dessa insamlade data för intelligent varuexponering och prestandaspårning. För att lösa det här problemet måste ni utveckla en anpassad lösning för att implementera datainsamlingen på ett headless sätt.
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 matchar ett språk som stöds används det som standard. I annat fall är widgeten standard engelska. I Admin konfigureras språkinställningen genom att gå till Stores> Settings >Configuration > General> Country Options.
Administratörer kan också ange språket för sökindexet för att få bättre sökresultat.
Databas för Widget-kod
Koden för sidwidgeten för produktlistor och Live Search-fältwidgeten är tillgänglig för hämtning från GitHub.
Utvecklare som har tillgång till koden kan helt anpassa hur den fungerar och ser ut. De har koden på sina egna servrar men använder fortfarande tjänsten Live Search.
Dataexporttillägg
När Live Search har aktiverats 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.
PWA support
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 inbyggda Commerce-butiken.
- Live Search i PWA stöder inte händelsehantering. Därför fungerar inte sökrapporter och intelligent varuexponering i PWA butiker.
- När du använder PWA Studio stöder GraphQL inte filtrering direkt på
description
,name
,short_description
, men dessa fält kan 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 för att förbättra sökfunktionen och lagrar informationen i webbläsarens cookies. Den här datainsamlingen kräver användarens samtycke när cookie-begränsningar är aktiverade. Live Search och Product Recommendations delar samma datainsamlingsmekanism och cookie-hantering. Mer information om begränsningar för cookies och sekretessefterlevnad finns i Hantera cookie-begränsningar.