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 version 8.1, 8.2 eller 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:
- 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ö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 kommando för att inaktivera OpenSearch och relaterade moduler tillfälligt 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 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
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:
- Layer 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".
- Obs! 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 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 Direktuppspelning av produktuppdateringar i indexeringsdokumentationen.
4. Verifiera att data exporterades verify-export
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 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ökresultatsidan och produktlistsidan för kategoribläddring. 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". Dessa kategoritilldelningar förbättrar granulariteten 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. Verifiera att händelser samlar in data.
Se till att butikshändelserna som distribueras till din plats fungerar. Detta är särskilt viktigt för headless-implementationer.
- 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. Den här sidan finns i guiden för Product Recommendations, men verifieringsstegen gäller även för Live Search.
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 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
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 SaaS API:er anropas direkt - särskilt katalogtjänstens slutpunkt.
- Ö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 när du inte använder standardkomponenter som sökadaptern, Luma-widgetar eller AEM CIF. 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 widgeten för Live-sökfält kan hämtas 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 ä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 fungerar inte sökrapporter och intelligent varuexponering i PWA.
- 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 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.