Suchanfragenerweiterung

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 Steuerelementen für die Bereitstellung kann die Suchanfrageerweiterung 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:

Anleitung


Ü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 Ihre SearchRequest einfügen.

  • Einstellungen: Im queryExpansionSpec legen Sie das Feld condition auf AUTO fest, um die Funktion zu aktivieren, oder auf DISABLED, um sie zu deaktivieren. Das ist die Standardeinstellung, wenn nichts angegeben ist.

  • Anpinnen: Sie können optional pinUnexpandedResults im Antrag auf true setzen, 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 vom Nutzer dynamisch angewendet werden, während 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 Erweiterung von Anfragen verwendet wird. Ihre 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.

Szenario 1

  • Nutzerinteraktion: 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_filter mit filter identisch ist: Das System zur Entscheidung über die Suchanfragenerweiterung würde nur zwei Ergebnisse sehen und fälschlicherweise die Suchanfragenerweiterung auslösen. Dadurch würden ähnliche, aber irrelevante Produkte wie Nike-T-Shirts angezeigt, was die explizite Filterung des Nutzers ignoriert.
  • Die richtige Einstellung ist canonical_filter = business filter: Die Entscheidung zur Erweiterung der Suchanfrage sollte auf der Grundlage der ursprünglichen Suchanfrage ohne die vom Nutzer ausgewählten Facetten getroffen werden.

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_filter nicht 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. Bei der Entscheidung zur Abfrageerweiterung würden weniger als drei Produkte für die angegebene lange Anfrage gefunden. Daraufhin würde eine Abfrageerweiterung ausgelöst und es würden ähnliche Produkte zur ursprünglichen Anfrage hinzugefügt, d. h. Produkte, die auf Lager sind und dem Attribut auf Geschäftsebene entsprechen. Die Suchergebnisse würden also um ein schwarzes T‑Shirt mit Grafikdruck einer anderen Marke, ein T‑Shirt mit Grafikdruck in einer anderen Farbe oder andere T‑Shirt-Produkte der angefragten Marke erweitert.

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 erhalten: Die API empfängt die Suchanfrage mit der Anfrage, der primären filter und der canonical_filter.

  • Suche zur Entscheidung über die Erweiterung der Suchanfrage: Parallel dazu führt das Modul zur Entscheidung über die Erweiterung der Suchanfrage eine eigene interne Suche mit der Suchanfrage 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.
  1. 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 Anfragen zu Lebensmitteln, zeigen Sie aber keine Ergebnisse für Elektronik- oder Modeartikel an. Die geschäftliche Anforderung besteht darin, die Suchanfrageerweiterung nur selektiv für den Lebensmittelbereich zu aktivieren.

Konfiguration

Für dieses Anwendungsfallszenario kann die selektive Abfrageerweiterung so konfiguriert werden:

  • canonical_filter: Legen Sie weit gefasst fest. Sie sollte alle Kategorien enthalten: Lebensmittel, Elektronik und Mode sowie alle Basisregeln wie die Verfügbarkeit auf Lager. Der kanonische Filter wird mit category="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUE definiert.
  • filter: Legen Sie den Wert basierend auf dem Kontext des Nutzers auf narrow fest. Für einen Nutzer im Bereich „Lebensmittel“ wäre der Filter category="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 kanonischen 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 mit category="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_filter und 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 category="groceries" entsprechen, 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

Suchanfragenerweiterung

Durch die Suchanfragenerweiterung wird der Recall für Abfragebegriffe mit wenigen Ergebnissen erhöht, insbesondere für Longtail-Suchanfragen.

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

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec;
import com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProductsWithQueryExpansion(String query, int pageSize,
    Condition condition) throws IOException, InterruptedException {
  QueryExpansionSpec queryExpansionSpec = QueryExpansionSpec.newBuilder()
      .setCondition(condition)
      .build();

  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setQueryExpansionSpec(queryExpansionSpec)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Wenn Sie beispielsweise ohne Erweiterung der Suchanfrage nach Google Pixel 5 suchen, wird das Ergebnis auf google_pixel_5-IDs beschränkt. Durch die Erweiterung der Abfrage können Sie jedoch auch die IDs google_pixel_4a_with_5g, google_pixel_4a und google_pixel_5_case im Beispieldataset für Produktbeschreibungen erhalten.