Bei der Suchanfragenerweiterung werden die Einschränkungen der Suchanfrage schrittweise gelockert, um mehr Ergebnisse zu berücksichtigen, wenn anfangs keine oder zu wenige gefunden werden. Dies führt zu einer Anpassung der Ergebnisgröße pro Abfrage.
Wenn es keine relevanten Dokumente für eine Anfrage gibt, werden durch die Anfrageerweiterung weniger relevante Dokumente zurückgegeben, damit nicht null Suchergebnisse zurückgegeben werden.
Im Gegensatz zu dynamischen Attributen oder Bereitstellungssteuerungen kann die Suchanfrageerweiterung beispielsweise nicht direkt in der Google Cloud -Konsole konfiguriert werden. Stattdessen müssen Sie die Erweiterung von Suchanfragen für jede Suchanfrage programmatisch konfigurieren. Weitere Informationen zum Konfigurieren der Suchanfrageerweiterung in der API
Anleitung zur Suchanfragenerweiterung
In dieser Anleitung erfahren Sie, wie Sie die Suchanfragenerweiterung aktivieren. Wenn ein Käufer einen mehrdeutigen Suchbegriff oder eine Wortgruppe verwendet, kann es sein, dass er keine Antwort erhält. Nachdem Sie die Suchanfragenerweiterung aktiviert haben, wird die Anfrage analysiert und die erweiterte Liste der Produkte basierend auf der geparsten Suchanfrage wird zurückgegeben.
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:
Übersicht über die Suchanfragenerweiterung
Die Suchanfragenerweiterung ist eine leistungsstarke Funktion, mit der die Sucherinnerung verbessert und Szenarien mit null Ergebnissen vermieden werden sollen, insbesondere bei Longtail- oder komplexen Nutzeranfragen.
Anstatt keine Ergebnisse zurückzugeben, wenn keine genaue Übereinstimmung im Produktkatalog gefunden wird, werden durch die Abfrageerweiterung ähnliche oder alternative Produkte ermittelt und angezeigt. Das verbessert die Nutzererfahrung und kann die Conversion-Raten steigern.
Wichtige Anwendungsfälle für die Suchanfrageerweiterung:
- Longtail-Suchanfragen: Bei sehr spezifischen Suchanfragen wie Bio-Milch mit hohem Proteingehalt und niedrigem Fettgehalt für Diabetiker gibt es im Katalog möglicherweise keine perfekte Übereinstimmung. Durch die Erweiterung von Suchanfragen können Produkte zurückgegeben werden, die mit Teilen der Intention übereinstimmen, z. B. Produkte, die mit Attributen oder Attributwerten wie „Milch für Diabetiker“ oder „Milch mit hohem Proteingehalt“ getaggt sind.
- Alternative Produkte: Wenn Nutzer nach einer Marke oder einem Produkt suchen, die bzw. das nicht im Katalog enthalten ist, z. B. Starbucks-Kaffee 100 ml, können durch die Erweiterung der Suchanfrage alternative Kaffeemarken vorgeschlagen werden, die zum Kauf verfügbar sind. So wird verhindert, dass die Suche ins Leere läuft.
In den folgenden Abschnitten werden die Funktionalität, der Auslösemechanismus und die Konfigurationsnuancen der Funktion zur Abfrageerweiterung in Vertex AI Search for Commerce beschrieben. Dabei wird insbesondere auf die entscheidende Rolle des kanonischen Filters eingegangen.
Mechanismus zum Auslösen der Suchanfragenerweiterung
Die Entscheidung, die Suchanfragenerweiterung oder eine bestimmte Suchanfrage zu aktivieren, erfolgt automatisch und basiert auf einer schnell konfigurierbaren kanonischen Filterregel.
- Auslösebedingung: Die Suchanfragenerweiterung wird nur ausgelöst, wenn die ursprüngliche Suche mit der kanonischen Filteranfrage weniger als drei Produktergebnisse liefert.
- Schwellenwert: Dieser Standardwert von 3 kann geändert werden. Diese Methode eignet sich gut für die meisten E-Commerce-Anwendungsfälle, da die Suchanfragenerweiterung nur dann aktiviert wird, wenn die ursprüngliche Ergebnismenge wirklich spärlich ist.
Suchanfragenerweiterung in der API konfigurieren
Die Suchanfragenerweiterung wird programmatisch pro Anfrage über die API konfiguriert:
API-Konfiguration: Sie steuern die Erweiterung von Anfragen, indem Sie das
queryExpansionSpec-Objekt in IhreSearchRequesteinfügen.Einstellungen: Im
queryExpansionSpeclegen Sie das FeldconditionaufAUTOfest, um die Funktion zu aktivieren, oder aufDISABLED, um sie zu deaktivieren. Das ist die Standardeinstellung, wenn nichts angegeben ist.Anpinnen: Sie können optional
pinUnexpandedResultsim Request auftruesetzen, damit genaue Übereinstimmungen für die ursprüngliche Anfrage oben in den Suchergebnissen und die erweiterten Ergebnisse danach angezeigt werden. Weitere Informationen finden Sie auf der Seite Anpinnen.
Kanonische Filter konfigurieren
Damit die Suchanfragenerweiterung effektiv ausgelöst wird, müssen Sie canonical_filter in Ihrer Suchanfrage richtig konfigurieren.
Um die Abfrageerweiterung richtig zu implementieren, müssen Sie die beiden primären Filterparameter in einer Suchanfrage verstehen: Filter auf oberster Ebene und kanonische Filter.
Filter der obersten Ebene (
filter): Dies ist der Hauptfilter, der auf die Suchergebnisse angewendet wird, bevor sie an den Nutzer zurückgegeben werden. Es ist eine Kombination aus zwei potenziellen Ebenen:Geschäfts-/Basisfilter: Vordefinierte Regeln, die auf alle Suchanfragen angewendet werden, oft ohne direkte Nutzereingabe, z. B.
inStock=TRUE, category="groceries", storeId="XYZ".Vom Nutzer ausgewählte Facettenfilter: Filter, die dynamisch vom Nutzer angewendet werden, wenn er mit der Suchoberfläche interagiert, z. B. durch Auswahl von Facettenfiltern für brand="Adidas", size="L".
Kanonische Filter (
canonical_filter): Dies ist ein spezieller Filter, der ausschließlich vom Modul für die Entscheidung zur Suchanfrageerweiterung verwendet wird. Die einzige Aufgabe besteht darin, die Katalogansicht zu definieren, anhand derer die Triggerbedingung für die Anfrageerweiterung (weniger als fünf Ergebnisse) ausgewertet wird.
Wichtige kanonische Filterfunktionen
Der kanonische Filter soll zwischen einem organisch schlechten Suchergebnis und einer Ergebnismenge unterscheiden, die vom Nutzer absichtlich eingegrenzt wurde. Sie kann entweder breit gefasst sein, um Geschäftslogik auszuschließen, die auf Nutzerfilter zurückzuführen ist, oder eingeschränkt werden, um die Abfrageerweiterung bei Bedarf auszulösen. Das hängt vom jeweiligen Nutzerszenario ab.
Szenario 1
-
User Journey: Der Nutzer sucht nach T-Shirt und erhält Tausende von Ergebnissen. Es gibt einen Standardwert für
business_filter, sodass beispielsweise nur Produkte auf Lager und Produkte gefiltert werden, die einem benutzerdefinierten Attribut auf Geschäftsebene entsprechen. Der Nutzer wendet dann Facettenfilter für brand="Adidas" and size="L" an, wodurch die Anzahl der Ergebnisse auf zwei reduziert wird. - Wenn
canonical_filterso festgelegt wäre, dass dieselben Bedingungenfilter(z. B.AVAILABILITY: IN_STOCK AND color: "Red") berücksichtigt werden, würde das System zur Entscheidung über die Suchanfrageerweiterung nur zwei Ergebnisse sehen und fälschlicherweise eine Suchanfrageerweiterung auslösen. Der Nutzer würde dann mit ähnlichen, aber irrelevanten Produkten wie Nike-T-Shirts überschwemmt, was die explizite Filterung des Nutzers aufheben würde. - Die richtige Einstellung ist
canonical_filter = business filter. Die Entscheidung zur Erweiterung der Anfrage sollte auf der Grundlage der ursprünglichen Anfrage getroffen werden, wobei vom Nutzer ausgewählte Facetten ausgeschlossen werden. Wenn Siecanonical_filterbreit gefasst halten, erkennt das System korrekt, dass es viele passende Produkte im Katalog gibt. So können die strengen Filter des Nutzers berücksichtigt werden, ohne dass eine Erweiterung erzwungen wird.
Szenario 2
-
User Journey: Der Nutzer sucht nach adidas T-Shirt mit schwarzen Grafiken und erhält nur ein oder zwei Ergebnisse, wenn überhaupt. Es gibt einen Standardwert für
business_filter, sodass beispielsweise nur Produkte auf Lager und Produkte gefiltert werden, die einem benutzerdefinierten Attribut auf Geschäftsebene entsprechen. - Wenn
canonical_filternicht festgelegt oder nicht richtig konfiguriert ist, können bei der Suche mit dem kanonischen Filter Produkte gefunden werden, die der Anfrage entsprechen, aber nicht auf Lager sind oder aus einem anderen Geschäft stammen, d. h. einen anderen Wert des benutzerdefinierten Attributs auf Geschäftsebene haben. In diesem Fall wird die Suchanfragenerweiterung nicht ausgelöst. -
Die richtige Einstellung ist
canonical_filter = business filter. Wenn mit dieser Einstellung bei der Entscheidung zur Abfrageerweiterung weniger als drei Produkte für die angegebene lange Anfrage gefunden werden, wird eine Abfrageerweiterung ausgelöst und es werden ähnliche Produkte für die ursprüngliche Anfrage angezeigt, d. h. auf Lager befindliche Produkte, die dem Attribut auf Geschäftsebene entsprechen. Die Suchergebnisse werden dann erweitert und enthalten beispielsweise schwarze T-Shirts mit Grafikdruck einer anderen Marke, T-Shirts mit Grafikdruck in anderen Farben oder andere T-Shirt-Produkte der angefragten Marke. Fügen Sie geschäftliche Einschränkungen für diesen Anwendungsfall voncanonical_filterhinzu.
Best Practices für die Suchanfragenerweiterung
Der kanonische Filter sollte fast immer mit Ihrem Unternehmens- oder Basisfilter identisch sein. So wird sichergestellt, dass das Modul zur Abfrageerweiterung das Potenzial der Abfrage anhand derselben breiten Katalogansicht bewertet, die Ihre Nutzer anfangs sehen, bevor sie Facetten anwenden.
End-to-End-Prozessablauf für Suche und Abfrageerweiterung
Wenn eine Suchanfrage gestellt wird, laufen mehrere parallele Prozesse ab:
Anfrage empfangen: Die API empfängt die Suchanfrage mit der Anfrage, dem primären
filterund demcanonical_filter.Suche zur Entscheidung über die Erweiterung der Anfrage: Parallel dazu führt das Modul zur Entscheidung über die Erweiterung der Anfrage eine eigene interne Suche mit der Anfrage in Kombination mit dem kanonischen Filter durch.
Prüfung der Anzahl der Ergebnisse: Das Modul prüft die Anzahl der Produkte, die bei der internen Suche zurückgegeben werden.
- Wenn fünf oder mehr Ergebnisse vorhanden sind: Die Abfrageerweiterung wird nicht ausgelöst. Die Standard-Suchergebnisse werden im letzten Schritt gefiltert.
- Wenn weniger als fünf Ergebnisse vorhanden sind: Die Abfrageerweiterung wird ausgelöst. Das Modell lockert die Anfrage systematisch, um ähnliche Produkte zu finden. Das Modell kann beispielsweise nach Pixel 5, Pixel 4, Pixel Buds oder sogar Samsung-Smartphones suchen.
- Letzte Filterung: Die Produktgruppe (die ursprüngliche Gruppe oder die erweiterte Gruppe aus der Abfrageerweiterung) wird an die letzte Phase übergeben. In diesem Fall wird der Filter der obersten Ebene, der Geschäftsregeln und alle vom Nutzer ausgewählten Facetten enthält, strikt angewendet.
- Antwort gesendet: Die endgültige gefilterte Liste der Produkte wird in der API-Antwort zurückgegeben.
Erweiterter Anwendungsfall der selektiven Aktivierung der Suchanfragenerweiterung
Sie können die Filter so konfigurieren, dass die Suchanfrageerweiterung für bestimmte Teile Ihres Katalogs aktiviert oder deaktiviert wird.
Stellen Sie sich einen großen Katalog mit Lebensmitteln, Elektronik und Mode vor. In einem solchen Fall sollten Sie die folgenden Aspekte berücksichtigen.
Ziel
Aktivieren Sie die Suchanfragenerweiterung für schwer zu findende oder seltene Lebensmittelanfragen, zeigen Sie aber keine Ergebnisse für Elektronik- oder Modeartikel an. Hier soll die Suchanfragenerweiterung nur für den Lebensmittelbereich aktiviert werden.
Konfiguration
Für dieses Anwendungsfallszenario kann die selektive Abfrageerweiterung so konfiguriert werden:
canonical_filter: Legen Sie den Wert auf broad fest. Sie sollte alle Kategorien enthalten: Lebensmittel, Elektronik und Mode sowie alle Basisregeln wie die Verfügbarkeit von Artikeln. Der kanonische Filter wird mitcategory="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUEdefiniert.filter: Legen Sie den Wert basierend auf dem Kontext des Nutzers auf narrow fest. Für einen Nutzer im Bereich „Lebensmittel“ wäre der Filtercategory="groceries" AND inStock=TRUE.
Funktionsweise
So funktioniert die selektive Suchanfragenerweiterung in diesem Szenario:
- Nutzer sucht nach „iPhone 20“: Das Modul zur Anfrageerweiterung verwendet den allgemeinen canonical_filter, findet vorhandene iPhone-Modelle (< 5 Ergebnisse) und entscheidet, die Anfrageerweiterung nicht auszulösen. Die Standard-Suchergebnisse (vorhandene iPhones) werden dann an den Hauptfilter übergeben, der sie blockiert, da
category="electronics"nicht mitcategory="groceries"übereinstimmt. Der Nutzer sieht korrekterweise keine Ergebnisse. - Nutzer sucht nach *Milch für Diabetiker mit hohem Proteingehalt*:Das Modul zur Erweiterung von Suchanfragen verwendet die weitgehende Übereinstimmung
canonical_filterund findet weniger als fünf Ergebnisse. Daher wird die Erweiterung von Suchanfragen ausgelöst, indem ähnliche Milchprodukte gesucht werden. Diese Produkte werden an den Hauptfilter übergeben. Da sie mitcategory="groceries"übereinstimmen, werden diese Produkte erfolgreich an den Nutzer zurückgegeben.
Durch die Bearbeitung des Bereichs von canonical_filter (der Ansicht für die Entscheidungsfindung) und der Haupt-filter (der Ansicht für die endgültige Ausgabe) haben Sie die genaue Kontrolle über die Suchergebnisse.
Beispieldatensatz
Auf dieser Seite wird das folgende Dataset als Beispiel verwendet. Maximieren Sie es, um die Felder im Beispieldataset für Produktbeschreibungen zu sehen.
Beispiel für ein Produkt-Dataset
| ID | Titel | Marken | Kategorien | price_info.price |
|---|---|---|---|---|
| "nest_mini_2nd_gen" | "Nest Mini (2. Generation)" | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 49,00 |
| "nest_audio" | "Nest Audio" | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 99.99 |
| "nest_hub_max" | "Nest Hub Max" | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 229,00 |
| "nest_hub" | "Nest Hub" | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 88,99 |
| „google_home_max“ | „Google Home Max“ | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 299,00 |
| „google_home_mini“ | „Google Home Mini“ | ["Google", "Nest"] | [„Nest > Lautsprecher und Displays“] | 49,00 |
| "google_pixel_5" | "Google Pixel 5" | ["Google", "Pixel"] | [„Pixel > Smartphones“] | 699,00 |
| "google_pixel_4a_with_5g" | "Google Pixel 4a with 5G" | ["Google", "Pixel"] | [„Pixel > Smartphones“] | 499,00 |
| "google_pixel_4a" | "Google Pixel 4a Phones" | ["Google", "Pixel"] | [„Pixel > Smartphones“] | 349,00 |
| "google_pixel_stand" | "Google Pixel Stand" | ["Google", "Pixel"] | ["Pixel > hervorgehobenes Zubehör"] | 79,00 |
| "google_pixel_buds" | "Google Pixel Buds" | ["Google", "Pixel"] | ["Pixel > hervorgehobenes Zubehör"] | 179,00 |
| "google_pixel_5_case" | "Google Pixel 5 Case" | ["Google", "Pixel"] | ["Pixel > hervorgehobenes Zubehör"] | 40,00 |
| "google_pixel_4a_5g_case" | "Google Pixel 4a (5G) Case" | ["Google", "Pixel"] | ["Pixel > hervorgehobenes Zubehör"] | 40,00 |
| "google_pixel_4a_case" | "Google Pixel 4a Case" | ["Google", "Pixel"] | ["Pixel > hervorgehobenes Zubehör"] | 40,00 |
Durch die Suchanfragenerweiterung werden Suchanfragen erweitert, um mehr Ergebnisse zu erhalten.
Durch die Suchanfragenerweiterung wird der Recall für Abfragebegriffe mit wenigen Ergebnissen erhöht, insbesondere für Longtail-Suchanfragen. Die erweiterte Anfrage führt zu einer größeren Anzahl von Suchergebnissen.
Diese Suchfunktion basiert auf einer Spezifikation, die die Bedingungen für die Suchanfragenerweiterung festlegt. Sie enthält die Option pinUnexpandedResults, die standardmäßig deaktiviert ist. Wenn dieser Parameter auf true festgelegt ist, werden nicht erweiterte Produkte oben in den Suchergebnissen angezeigt. Darunter werden die erweiterten Ergebnisse angezeigt.
Java
Wenn Sie beispielsweise ohne Erweiterung der Suchanfrage nach Google Pixel 5 suchen, wird das Ergebnis auf google_pixel_5-IDs beschränkt. Durch die Abfrageerweiterung können Sie jedoch auch google_pixel_4a_with_5g-, google_pixel_4a- und google_pixel_5_case-IDs im Beispieldataset für Produktbeschreibungen erhalten.