Für Erfolg mit Live Search einrichten
Adobe Commerce Live Search und Catalog Service arbeiten zusammen, um eine leistungsfähige, relevante und intuitive Suchlösung bereitzustellen, mit der Ihre Kunden schnell genau das finden können, was sie benötigen. Genauer gesagt überdeckt Catalog Service Ihre Katalogdaten für SaaS-Dienste, z. B. Live Search.
Dieser Artikel enthält schrittweise Anweisungen zur Implementierung von Live Search mit Catalog Service.
Zielgruppe
Dieser Artikel richtet sich an Entwickler oder Systemintegratoren in Ihrem Team, die für die Installation und Konfiguration Ihrer Adobe Commerce-Instanz zuständig sind.
Voraussetzungen
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
Unterstützte Plattformen
- Adobe Commerce on Cloud (ECE) : 2.4.4+
- Adobe Commerce On-Premise (EE) : 2.4.4+
Workflow-Übersicht
Auf hoher Ebene erfordert das Onboarding von Live Search, dass Sie:
1. Installieren Sie die Live Search -Erweiterung
Live Search wird als Erweiterung von Adobe Marketplace bis Composer installiert. Nach der Installation und Konfiguration von Live Search beginnt Adobe Commerce mit der Freigabe von Such- und Katalogdaten für SaaS-Dienste. An dieser Stelle können Benutzer von Admin Suchfacetten, Synonyme und Merchandising-Regeln einrichten, anpassen und verwalten.
-
Vergewissern Sie sich, dass cron-Aufträge und Indexer ausgeführt werden.
note important IMPORTANT Aufgrund der Ankündigung zum Ende der Unterstützung für Elasticsearch 7 vom August 2023 wird empfohlen, dass alle Adobe Commerce-Kunden zur OpenSearch 2.x-Suchmaschine migrieren. Weitere Informationen zur Migration Ihrer Suchmaschine während eines Produkt-Upgrades finden Sie unter Migration zu OpenSearch im Upgrade-Handbuch. -
Laden Sie das Paket
live-search
vom Adobe Marketplace herunter. -
Führen Sie Folgendes über die Befehlszeile aus:
code language-bash composer require magento/live-search
Wenn Sie die Erweiterung Live Search zu einer Adobe Commerce-Installation vom Typ new hinzufügen, führen Sie Folgendes aus, um OpenSearch und die zugehörigen Module zu deaktivieren, und installieren Sie Live Search. Fahren Sie dann mit Schritt 4 fort.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Wenn Sie die Erweiterung Live Search zu einer vorhandenen Adobe Commerce-Installation von 2} hinzufügen, führen Sie Folgendes aus, um die Live Search -Module, die Storefront-Suchergebnisse bereitstellen, vorübergehend zu deaktivieren. Fahren Sie dann mit Schritt 4 fort:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch verwaltet weiterhin Suchanforderungen aus dem Store, während der Live Search-Dienst Katalogdaten synchronisiert und Produkte im Hintergrund indiziert.
-
Führen Sie Folgendes aus:
code language-bash bin/magento setup:upgrade
-
Stellen Sie sicher, dass die folgenden Indexer auf "Nach Zeitplan aktualisieren"eingestellt sind:
- Produkt-Feed
- Produktvarianten-Feed
- Katalogattribut-Feed
- Produktpreis-Feed
- Umfang des Website-Daten-Feeds
- Umfang des Daten-Feeds für Kundengruppen
- Kategorien-Feed
- Kategorieberechtigungs-Feed
-
Wenn Sie Live Search auf einer neuen Commerce-Instanz installieren, sind Sie fertig und können zu 2 überspringen. Konfigurieren Sie den Abschnitt "API-Schlüssel". Wenn Sie die Live-Suche in einer vorhandenen Commerce-Instanz installieren, fahren Sie mit dem nächsten Schritt fort.
-
Führen Sie die folgenden Befehle aus, um die Erweiterung Live Search zu aktivieren, OpenSearch zu deaktivieren und
setup
auszuführen.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. API-Schlüssel konfigurieren
Der Adobe Commerce-API-Schlüssel und der zugehörige private Schlüssel sind erforderlich, um Live Search mit einer Installation von Adobe Commerce zu verbinden. Der API-Schlüssel wird im Konto des Commerce -Lizenzinhabers generiert und verwaltet, der ihn für den Entwickler oder den Systemintegrator freigeben kann. Der Entwickler kann dann die SaaS-Datenräume im Auftrag des Lizenzinhabers erstellen und verwalten. Wenn Sie bereits über eine Reihe von API-Schlüsseln verfügen, müssen Sie diese nicht neu generieren.
Erfahren Sie, wie Sie Ihre API-Schlüssel im Artikel Commerce Services Connector konfigurieren.
3. Ihre Katalogdaten synchronisieren synchronize-catalog-data
Live Search verschiebt Katalogdaten in die Adobe SaaS-Infrastruktur. Die Daten werden indiziert und die Suchergebnisse werden von diesem Index direkt an die Storefront übermittelt. Je nach Größe und Komplexität kann die Indizierung zwischen 30 Minuten und einigen Stunden dauern.
Um die erste Synchronisierung Ihrer Katalogdaten mit SaaS-Diensten zu starten, führen Sie die folgenden Befehle in dieser Reihenfolge aus:
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
Wenn Sie diese Befehle ausführen, beginnt die erste Synchronisierung Ihrer Katalogdaten mit SaaS-Diensten.
cron
ausgeführt wird, bis der Prozess Ihre Daten mit den SaaS-Diensten synchronisiert.Fortschritt der Synchronisierung überwachen
Sie können die synchronisierten und freigegebenen Daten über das Data Management Dashboard anzeigen. Dieses Dashboard bietet wertvolle Einblicke in die Verfügbarkeit von Produktdaten für Ihre Storefront, sodass sie Ihren Käufern umgehend angezeigt werden können.
Sie können auch Synchronisierungsbefehle ausführen und Fehler im Synchronisierungsprozess mithilfe der Protokolle Commerce CLI und der Datenexport-Erweiterung beheben.
Zukünftige Produktaktualisierungen
Nach der ersten Synchronisierung kann es bis zu 15 Minuten dauern, bis inkrementelle Produktaktualisierungen für die Storefront-Suche verfügbar sind. Weitere Informationen finden Sie unter Indizierung - Streaming von Produktaktualisierungen.
4. Überprüfen, ob die Daten exportiert wurden verify-export
Um sicherzustellen, dass die Katalogdaten aus Ihrer Adobe Commerce-Instanz exportiert und für Live Search synchronisiert wurden, haben Sie einige Optionen:
-
Suchen Sie in den folgenden Tabellen nach Einträgen:
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
Verwenden Sie den GraphQL-Playground mit der Standardabfrage, um Folgendes zu überprüfen:
- Die zurückgegebene Produktanzahl entspricht in etwa dem, was Sie für die Store-Ansicht erwarten.
- Facets werden zurückgegeben.
Weitere Hilfe finden Sie unter Live Search Nicht synchronisierter Katalog in der Support-Wissensdatenbank.
5. Konfigurieren der Daten
Durch die korrekte Konfiguration Ihrer Produktdaten werden gute Suchergebnisse für Ihre Kunden sichergestellt. In diesem Abschnitt aktivieren Sie die Widgets zur Produktliste und weisen Kategorien zu.
Enable Product Listing Widgets
Wenn Sie Live Search 4.0.0+ installieren, sind die Widgets für die Produktauflistung standardmäßig aktiviert. Wenn Widgets aktiviert sind, wird eine andere UI-Komponente für die Suchergebnisseite und die Kategorieseite zum Durchsuchen von Produktlisten-Seiten verwendet. Diese UI-Komponente führt direkte Aufrufe an die Catalog Service-API durch, was zu schnelleren Antwortzeiten führt.
Wenn Sie eine Live Search -Version vor 4.0.0+ haben, müssen Sie das Widget "Produktliste"manuell aktivieren.
-
Navigieren Sie vom Admin zu Stores > Settings>Configuration.
-
Wählen Sie unter "Live Search"die Option "Storefront Features".
-
Setzen Sie Enable Product Listing Widgets auf
Yes
.
Wenn Sie diese Konfiguration ändern, wird die Meldung Page cache is invalidated
angezeigt. Sie müssen den Magento-Cache leeren, um Ihre Änderung zu speichern.
-
Greifen Sie auf die Seite Cache-Verwaltung zu, indem Sie einen der folgenden Schritte ausführen:
- Klicken Sie auf den Link Cache Management in der Meldung über dem Arbeitsbereich.
- Wechseln Sie in der Seitenleiste Admin zu System > Tools>Cache Management.
-
Wählen Sie die Konfiguration Cache Type aus und klicken Sie auf Flush Magento Cache.
Änderungen an der Storefront werden unmittelbar nach dem Leeren des Caches vorgenommen.
Zuweisen von Kategorien
Produkte, die in Live Search zurückgegeben werden, müssen einer Kategorie zugewiesen werden. In Luma beispielsweise werden Produkte in Kategorien wie "Männer", "Frauen"und "Zahnrad"unterteilt. Unterkategorien sind auch "Tops", "Bottom" und "Watches". Dies ermöglicht eine bessere Granularität beim Filtern.
6. Verbindung testen test-connection
Testen Sie mit Ihren Katalogdaten jetzt in SaaS, um sicherzustellen, dass in den folgenden Szenarien Produktdaten zurückgegeben werden:
- Das Feld Search gibt die Ergebnisse korrekt zurück
- Kategoriesuche gibt Ergebnisse korrekt zurück
- Facets sind als Filter auf Suchergebnisseiten verfügbar
Wenn alles ordnungsgemäß funktioniert, ist Live Search installiert, verbunden und einsatzbereit.
Wenn Sie im Storefront auf Probleme stoßen, überprüfen Sie die Datei "var/log/system.log
"auf API-Kommunikationsfehler oder -fehler auf der Dienstseite.
Um Live Search über eine Firewall zuzulassen, fügen Sie commerce.adobe.io
zur Zulassungsliste hinzu.
7. Benutzerspezifisch für Ihre Storefront
Sie haben Ihre Daten installiert, synchronisiert, validiert und konfiguriert. Live Search Jetzt möchten Sie sicherstellen, dass die Live Search -Widgets dem Look-and-Feel Ihres Stores entsprechen.
Sie können die Popover- und PLP-Widgets gestalten, indem Sie nach Bedarf benutzerdefinierte CSS-Regeln definieren. Siehe Formatieren von Popover-Elementenund Seitenwidget für Produktauflistungen.
Wenn Sie die Funktionalität der Widgets erweitern möchten, ist der Quellcode für jedes in einem öffentlichen Repository verfügbar.
In diesem Szenario können Sie die JavaScript an Ihre eigenen Anforderungen anpassen und dann Ihren benutzerdefinierten Code auf Ihrem CDN hosten. Dieses benutzerdefinierte Skript kommuniziert mit dem Live Search -Dienst und gibt die Ergebnisse wie normal zurück, sodass Sie die Funktionalität des Widgets steuern können.
Aktualisieren von Live Search update
Führen Sie vor der Aktualisierung der Live Search-Suche Folgendes über die Befehlszeile aus, um die installierte Live Search-Version zu überprüfen:
composer show magento/module-live-search | grep version
Um Live Search zu aktualisieren, führen Sie Folgendes über die Befehlszeile aus:
composer update magento/live-search --with-dependencies
Um auf eine Hauptversion wie 3.1.1 auf 4.0.0 zu aktualisieren, bearbeiten Sie die Stammdatei des Projekts Composer .json
wie folgt:
-
Wenn Ihre derzeit installierte
magento/live-search
-Version3.1.1
oder niedriger ist und Sie auf Version4.0.0
oder höher aktualisieren, führen Sie vor dem Upgrade den folgenden Befehl aus:code language-bash bin/magento module:enable Magento_AdvancedSearch
Führen Sie den folgenden Befehl aus, um Informationen zur derzeit installierten Version von
magento/live-search
zu erhalten:code language-bash composer show magento/live-search
-
Öffnen Sie die Stammdatei
composer.json
und suchen Sie nachmagento/live-search
. -
Aktualisieren Sie im Abschnitt
require
die Versionsnummer wie folgt:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Speichern Sie
composer.json
. Führen Sie dann Folgendes über die Befehlszeile aus:code language-bash composer update magento/live-search --with-dependencies
Deinstallieren von Live Search uninstall
Informationen zum Deinstallieren von Live Search finden Sie unter Module deinstallieren.
Live Search Pakete packages
Die Erweiterung Live Search besteht aus den folgenden Paketen:
module-live-search
module-live-search-adapter
- Kategoriedurchsuchen - Routen von Anforderungen aus der Storefront oberste Navigation zum Suchdienst.
- Globale Suche - Routet Anfragen aus dem Feld Schnellsuche oben rechts im Storefront zum Dienst Live Search.
module-live-search-storefront-popover
Live Search dependencies dependencies
Die folgenden Live Search -Abhängigkeiten werden von Composer erfasst.
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
Erweiterte Konzepte
Die folgenden Abschnitte enthalten erweiterte Themen bei Verwendung von Live Search und Catalog Service.
Endpunkt
Live Search kommuniziert über den Endpunkt bei https://catalog-service.adobe.io/graphql
.
Da Live Search keinen Zugriff auf die gesamte Produktdatenbank hat, weisen Live Search GraphQL und Commerce Core GraphQL keine vollständige Parität auf.
Es wird empfohlen, die SaaS-APIs direkt aufzurufen - insbesondere den Catalog Service-Endpunkt.
- Steigern Sie die Leistung und reduzieren Sie die Prozessorlast durch Umgehen der Commerce-Datenbank/des Graphql-Prozesses.
- Nutzen Sie die Catalog Service -Föderation, um Live Search, Catalog Service und Product Recommendations von einem einzelnen Endpunkt aus aufzurufen.
Für einige Anwendungsfälle ist es möglicherweise besser, Catalog Service für Produktdetails und ähnliche Fälle aufzurufen. Weitere Informationen finden Sie unter refineProduct .
Wenn Sie über eine benutzerdefinierte Headless-Implementierung verfügen, sehen Sie sich die Live Search-Referenzimplementierungen an:
Wenn Sie nicht die Standardkomponenten wie Suchadapter oder Widgets auf Luma oder AEM CIF Widgets verwenden, funktioniert Eventing (Clickstream-Daten, die Adobe Sensei für intelligente Merchandising- und Leistungsmetriken speisen) nicht standardmäßig und erfordert eine benutzerdefinierte Entwicklung, um Headless-Eventing zu implementieren.
Die neueste Version von Live Search verwendet bereits Catalog Service.
Sprachunterstützung
Live Search -Widgets unterstützen die folgenden Sprachen:
Wenn das Widget erkennt, dass die Commerce-Admin-Spracheinstellung (Stores > Einstellungen > Konfiguration > Allgemein > Länderoptionen) mit einer unterstützten Sprache übereinstimmt, wird standardmäßig diese Sprache verwendet. Andernfalls wird für die Widgets standardmäßig Englisch angezeigt.
Administratoren können auch die Sprache des Suchindex festlegen, um bessere Suchergebnisse sicherzustellen.
Widget-Code-Repository
Das Widget "Seite der Produktauflistungen"und das Widget "Feld der Live-Suche"können über ihr GitHub-Repository heruntergeladen werden.
Dadurch können Entwickler die Funktionalität und den Stil vollständig anpassen. Diese Benutzer hosten den Code selbst, während sie weiterhin den Dienst Live Search nutzen.
Datenexport-Erweiterung
Nachdem die Live Search-Funktion aktiviert wurde, synchronisiert die Datenexport-Erweiterung Commerce-Daten zwischen der Commerce-Anwendung und der Live Search. Dadurch wird sichergestellt, dass die aktuellsten Commerce-Daten auf der Storefront verfügbar sind. Im Admin können Sie den Synchronisierungsstatus über das Data Management-Dashboard überprüfen. Sie können den Datenexportprozess mithilfe der Commerce-CLI und -Protokolle verwalten und beheben. Weitere Informationen finden Sie im Datenexport-Handbuch.
Inventory management
Live Search unterstützt die Funktionen von Inventory management in Commerce (ehemals "Multi-Source-Inventar"oder "MSI"). Um die vollständige Unterstützung zu aktivieren, müssen Sie das Abhängigkeitsmodul commerce-data-export
auf Version 102.2.0+ aktualisieren.
Live Search gibt einen booleschen Hinweis zurück, ob ein Produkt in Inventory management verfügbar ist, enthält jedoch keine Informationen darüber, welche Quelle den Bestand hat.
Preisindex
Live Search-Kunden können den SaaS-Preisindex verwenden, der schnellere Preisänderungen und Synchronisierungszeiten ermöglicht.
Preisstützung
Live Search-Widgets unterstützen die meisten, aber nicht alle von Adobe Commerce unterstützten Preistypen.
Derzeit werden Basispreise unterstützt. Folgende erweiterte Preise werden nicht unterstützt:
- Kosten
- Mindestpreis für Werbung
Komplexere Preisberechnungen finden Sie unter API-Mesh .
Das Preisformat unterstützt die Gebietsschema-Konfigurationseinstellung in der Commerce-Instanz: Stores > Einstellungen > Konfiguration > Allgemein > Allgemein > Lokale Optionen > Gebietsschema.
Headless-Storefront-Unterstützung
Optional müssen Sie möglicherweise das module-data-services-graphql
-Modul installieren, das die bestehende GraphQL-Abdeckung der Anwendung erweitert und Felder enthält, die für die Erfassung von verhaltensbezogenen Storefront-Daten erforderlich sind.
composer require magento/module-data-services-graphql
Dieses Modul fügt GraphQL-Abfragen zusätzliche Kontexte hinzu:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
B2B-Unterstützung
Live Search unterstützt B2B-Funktionalität mit zusätzlichen Einschränkungen.
PWA-Unterstützung
Live Search funktioniert mit PWA Studio, aber die Benutzer sehen möglicherweise geringfügige Unterschiede im Vergleich zu anderen Commerce-Implementierungen. Grundlegende Funktionen wie Such- und Produktlistenseite funktionieren in Venia, aber einige Permutationen von Graphql funktionieren möglicherweise nicht ordnungsgemäß. Es kann auch Leistungsunterschiede geben.
- Die aktuelle PWA-Implementierung von Live Search erfordert mehr Verarbeitungszeit, um Suchergebnisse zurückzugeben als Live Search mit der nativen Commerce-Storefront.
- Live Search in PWA unterstützt nicht die Ereignisverarbeitung. Daher funktionieren Suchberichte und intelligentes Merchandising.
- Das direkte Filtern nach
description
,name
undshort_description
wird von GraphQL bei Verwendung mit PWA nicht unterstützt, wird jedoch mit einem allgemeineren Filter zurückgegeben.
Um Live Search mit PWA Studio zu verwenden, müssen Integratoren auch:
-
Installieren Sie livesearch-storefront-utils.
-
Legen Sie die
environmentId
im ObjektstoreDetails
fest.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 erfasst Benutzerinteraktionsdaten im Rahmen seiner grundlegenden Funktionalität und Cookies werden zum Speichern dieser Daten verwendet. Beim Erfassen von Benutzerinformationen muss der Benutzer dem Speichern von Cookies zustimmen. Live Search und Product Recommendations teilen den Datenstrom und daher denselben Cookie-Mechanismus. Weitere Informationen dazu finden Sie unter Umgang mit Cookie-Einschränkungen.