Suchergebnisse abrufen

Auf dieser Seite werden grundlegende Suchabfragen beschrieben, einschließlich Textabfragen, Suchvorgängen, Paginierung, Optimierung und personalisierter Ergebnisse.

Personalisierte Ergebnisse eines Endnutzers werden nie im Cache gespeichert und personalisierte Ergebnisse nie an einen anderen Endnutzer zurückgegeben.

Über die Textsuche und die Stöbersuche mit der Suche

Die Suche bietet Funktionen zur Textabfrage und zum Stöbern.

Im Anwendungsfall einer Textabfrage könnte ein Käufer eine textbasierte Anfrage auf Ihrer Website eingeben. Die Suche gibt eine Suchantwort mit Produkten zurück, die den Parametern der von Ihnen eingerichteten Steuerelemente entsprechen, sortiert nach Relevanz und Umsatzmaximierung.

Im Anwendungsfall „Durchsuchen“ kann ein Käufer das Websitemenü aufrufen und zu einer bestimmten Produktkategorie wechseln. Die Google Suche wählt automatisch die Sortierreihenfolge mit dem höchsten Umsatz aus, indem sie aus Nutzerverhalten und Trends lernt. Die Suchergebnisse können mit den von Ihnen eingerichteten Steuerelementen weiter verfeinert werden.

Sowohl bei Text- als auch bei Suchanfragen wird die Methode servingConfigs.search verwendet.

Suchanfragen mit Textabfrage

Wenn ein Nutzer eine Textabfrage eingibt, um auf Ihrer Website zu suchen, werden die potenziellen Suchergebnisse nach Relevanz, Beliebtheit, Kaufbarkeit und Personalisierung sortiert.

Die Suche betrachtet eine servingConfigs.search-Anfrage als textbasierte Suchanfrage, wenn das Feld query nicht leer ist.

Beim Hochladen eines Nutzerereignisses werden durch die Suche generierte Textabfrage-Suchereignisse als search-Nutzerereignisse senden. Wenn das Ereignis ein nicht leeres userEvent.searchQuery-Feld und ein leeres userEvent.pageCategories-Feld hat, wird es bei der Suche als textbasiertes Suchereignis betrachtet.

Suchanfragen ansehen

Normalerweise liefert das Durchsuchen von Produkten mithilfe der Websitenavigation Ergebnisse, die alle gleich relevant sind oder nach Bestsellern sortiert sind. Die Suche optimiert mithilfe von KI die Sortierung von Stöberergebnissen nach Beliebtheit, Kaufbarkeit und Personalisierung.

Wenn die Methode servingConfigs.search eine Anfrage sendet, betrachtet die Suche sie als Suchanfrage, wenn das Feld query leer ist. In diesem Fall basieren die Ergebnisse auf den Feldern filter und pageCategories sowie auf weiteren Optimierungen und Personalisierungen, falls verfügbar.

Achten Sie beim Hochladen von Nutzerereignissen darauf, dass Sie von der Suche generierte Stöbersuchereignisse als search-Nutzerereignisse senden. Die Suche betrachtet ein search-Nutzerereignis als surfbasiertes Ereignis, wenn es ein leeres userEvent.searchQuery-Feld und ein nicht leeres userEvent.pageCategories-Feld enthält.

Damit die richtigen Stöbersuchergebnisse angezeigt werden, müssen die Werte pageCategories und filter in Ihren Suchanfragen genau mit den Werten pageCategories und filter in den hochgeladenen Nutzerereignissen übereinstimmen. Wenn sie nicht genau übereinstimmen, werden die Daten in den Suchanfragen möglicherweise nicht erkannt, was sich negativ auf die Ergebnisqualität auswirken kann. Bei der Suchfunktion wird nur der erste Kategoriewert in pageCategories erkannt.

Verwenden Sie Suchanfragen, um Ergebnisse sowohl für Textsuchen als auch für Stöbersuchen zu erhalten. Verwenden Sie für eine Suchanfrage die Methode servingConfigs.search.

Alle Suchanfragen erfordern placement, das den vollständigen Ressourcennamen der zu verwendenden Bereitstellungskonfiguration angibt. Die Bereitstellungskonfiguration bestimmt, welche Einstellungen und zugehörigen Steuerelemente die Suchergebnisse beeinflussen.

Für Suchanfragen für Textabfragen darf das Feld query nicht leer sein.

Für Durchsuchen-Suchanfragen muss das Feld pageCategories leer sein.

Java

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

public static void searchProducts(String query) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .build();

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

Standardmäßig wird eine angemessene Anzahl von Ergebnissen zurückgegeben, sortiert nach Relevanz.

Um Produktattribute abzurufen, die mit der Suchantwort zurückgegeben werden, müssen Sie beim Importieren Ihrer Katalogdaten Attributwerte angeben. Product hat vordefinierte Systemattribute wie Marke, Farbe und Größe, für die Sie Werte angeben können. Sie können auch benutzerdefinierte Attribute hinzufügen, die Sie mit Product.attributes definieren.

Anleitung zu Anfragen

In dieser Anleitung erfahren Sie, wie Sie eine textbasierte Suchanfrage an den Vertex AI Search for Retail-Dienst senden und die Antwort analysieren.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:

Anleitung


Seitenumbruch

Verwenden Sie die Paginierung, um die Suchzeit und die Größe der gesendeten Antworten zu verringern.

Anleitung zum Seitenumbruch

In dieser Anleitung erfahren Sie, wie Sie die Paginierung in einer textbasierten Suchanfrage steuern. Wenn ein Käufer in einem Geschäft nach Produkten sucht, kann er seine Navigation durch die Suchergebnisse verbessern. Sie können beispielsweise mit der Funktion für die Seitengröße die Anzahl der Elemente in der Suchantwort begrenzen oder mit der Funktion „Offset“ zu ihrer bevorzugten Seite springen.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:

Anleitung


Paginieren

Verwenden Sie je nach Anwendungsfall page_token oder offset, um von einer Seite zu einer anderen zu springen.

Mit page_token können Sie zur nächsten Seite springen. Angenommen, Sie senden den folgenden SearchRequest.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
}

Von SearchResponse können Sie die resultierenden Produkte mit einer Top-5-Relevanz zusammen mit einem next_page_token abrufen.

JSON

{
  results: [
    products{...}, products{...}, products{...}, products{...}, products{...}
  ]
  next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
  total_size: 100
  search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM"
}

Um die Produktergebnisse mit den nächsten fünf Relevanzstellen (6. bis 10.) abzurufen, geben Sie für page_token dieselben Werte für placement und visitor_id an und query als next_page_token der vorherigen SearchResponse.

Java

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

public static void searchProducts_withNextPageToken(String query, int pageSize)
    throws IOException, InterruptedException {
  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchRequest firstRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .build();

    SearchResponse firstResponse = searchClient.search(firstRequest).getPage()
        .getResponse();
    System.out.println("First search response: " + firstResponse);

    SearchRequest secondRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .setPageToken(firstResponse.getNextPageToken())
        .build();

    SearchResponse secondResponse = searchClient.search(secondRequest).getPage()
        .getResponse();
    System.out.println("Second search response: " + secondResponse);
  }
}

In diesem Beispiel sieht SearchRequest so aus:

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
}

In anderen Fällen können Sie anstatt von Seite zu Seite zu gehen oder Ergebnisse mit hoher Relevanz zu erhalten, mit offset eine bestimmte Position direkt erreichen.

Java

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

public static void searchProducts_withOffset(String query, int pageSize,
    int offset) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setOffset(offset)
      .build();

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

Wenn Sie beispielsweise die 10. Ergebnisseite abrufen möchten und die Seitengröße 5 beträgt, können Sie den Wert offset auf 45 festlegen. Dieser Wert wird folgendermaßen berechnet (10 - 1) * 5.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  offset: 45
}

Suchleistungsstufen

Die Google Suche bietet verschiedene Stufen für die Suchleistung, mit denen Sie Ihre Ergebnisse immer weiter verbessern können. Bei Anwendungsfällen mit Textabfragen können die Ergebnisse beispielsweise ausschließlich auf der Relevanz basieren. Wenn Sie erweiterte Leistungsstufen nutzen, kann die Suche Ergebnisse zurückgeben, die auf Relevanz, Beliebtheit, Umsatzoptimierung und Personalisierung basieren.

Die Suche aktiviert automatisch höhere Leistungsstufen, wenn Sie Katalog- und Nutzerereignisdaten hochladen, die die Mindestanforderungen der jeweiligen Stufe erfüllen.

Auf der Seite Datenqualität in der Search for Retail-Konsole können Sie prüfen, welche Anforderungen Sie für jede Stufe erfüllt haben. Weitere Informationen zur Verwendung dieser Seite zum Anzeigen von Datenqualitäts- und Suchleistungsstufen finden Sie unter Suchleistungsstufen freischalten.

Textsuche auswerten und Ergebnisse durchsuchen

Bevor Sie den Code Ihrer Website aktualisieren, um eine Textsuche anzufordern oder Suchergebnisse zu durchsuchen, können Sie sich eine Vorschau der Ergebnisse anzeigen lassen, um zu prüfen, ob Ihre Bereitstellungskonfiguration wie erwartet funktioniert.

Weitere Informationen zu Bereitstellungskonfigurationen finden Sie unter Informationen zu Bereitstellungskonfigurationen.

Sie können die Ergebnisse der Bereitstellungskonfiguration entweder auf der Seite Bewerten als Vorschau ansehen oder indem Sie in der Console die Seite Details einer Bereitstellungskonfiguration aufrufen und auf den Tab Bewerten klicken. Die folgenden Schritte zeigen, wie Sie die Seite Bewerten als Vorschau anzeigen.

So sehen Sie sich eine Vorschau der Ergebnisse an, die von Ihrer Bereitstellungskonfiguration zurückgegeben werden:

  1. Rufen Sie in der Search for Retail-Konsole die Seite Bewerten auf.

    Zur Seite „Bewerten“

  2. Klicken Sie auf den Tab Suchen.

  3. Wählen Sie die Bereitstellungskonfiguration aus, die Sie als Vorschau ansehen möchten.

  4. Wählen Sie den Katalogzweig aus, der den Katalog enthält, für den Sie eine Vorschau anzeigen möchten.

  5. Optional: Geben Sie eine Besucher-ID ein, um eine Vorschau der Suchergebnisse für diesen Nutzer anzuzeigen.

  6. Optional: Geben Sie eine Nutzer-ID ein, um eine Vorschau der Suchergebnisse für diesen Nutzer anzuzeigen.

  7. Optional: Geben Sie eine Suchzeit ein, um eine Vorschau der Suchergebnisse anzuzeigen, die zum angegebenen Zeitpunkt angezeigt werden würden.

    Wenn Sie beispielsweise bestimmte Produkte anlässlich des Black Friday beworben haben, können Sie die Ergebnisse so sehen, wie sie an diesem Tag angezeigt würden.

  8. Optional: Wählen Sie Attribute aus, die neben den Suchergebnissen angezeigt werden sollen, und klicken Sie auf OK, um sie anzuwenden.

    Mit den ausgewählten Attributen wird eine Liste von Attributfiltern generiert, die nach der ersten Suche unter Attribute hinzufügen angezeigt werden. Diese Attributfilter können andere Attribute als die in diesem Schritt ausgewählten Attribute enthalten, z. B. dynamische Attribute.

  9. Geben Sie eine textbasierte Suchanfrage ein, um eine Vorschau der Suchergebnisse dafür anzuzeigen.

  10. Klicken Sie auf Vorschau der Suche oder drücken Sie die Eingabetaste in einem Eingabefeld, um die Ergebnisse zu sehen.

    Die Suchergebnisse werden mit den verfügbaren Miniaturansichten angezeigt.

    Wenn Ihre Suche eine Weiterleitungssteuerung auslöst, wird ein Hinweis mit dem Weiterleitungs-URI angezeigt.

  11. Optional: Klicken Sie auf das Symbol Raster oder Liste, um die Anzeige der Suchergebnisse in der Vorschau zu ändern.

  12. Optional: Wenn Sie Attribute ausgewählt haben, die neben Ihren Ergebnissen angezeigt werden sollen, wählen Sie einen oder mehrere Attributwerte aus der Attributliste aus, um die Ergebnisse nach diesen Werten zu filtern. Die Ergebnisse werden automatisch aktualisiert, sobald Sie die Auswahl getroffen haben.

    Wenn Sie mehrere Werte desselben Attributs auswählen, werden sie als OR-Operator angewendet. Werte für verschiedene Attribute werden wie der AND-Operator angewendet. Wählen Sie beispielsweise die Facetten „Farbe“ und die Werte „blau“ und „Gold“ und die Materialwerte „Baumwolle“ und „Polyester“ aus. Die Suchergebnisse müssen entweder „blau“ oder „gold“ als Attribut und außerdem entweder „Baumwolle“ oder „Polyester“ enthalten.

Durchsuchen

  1. Rufen Sie in der Search for Retail-Konsole die Seite Bewerten auf.

    Zur Seite „Bewerten“

  2. Klicken Sie auf den Tab Durchsuchen.

  1. Wählen Sie die Bereitstellungskonfiguration aus, für die Sie eine Vorschau ansehen möchten.

  2. Wählen Sie den Katalogzweig aus, der den Katalog enthält, für den Sie eine Vorschau anzeigen möchten.

  3. Optional: Geben Sie eine Besucher-ID ein, um eine Vorschau der Ergebnisse für diesen Nutzer anzuzeigen.

  4. Optional: Geben Sie eine Nutzer-ID ein, um eine Vorschau der Ergebnisse für diesen Nutzer anzuzeigen.

  5. Geben Sie einen Filterstring ein, um eine Vorschau der Ergebnisse mit einem bestimmten Filter aufzurufen. Verwenden Sie die in der Filterdokumentation angegebene Syntax für Filterausdrücke.

  6. Optional: Geben Sie eine Suchzeit ein, um eine Vorschau der Ergebnisse anzuzeigen, die zum angegebenen Zeitpunkt angezeigt werden würden.

    Wenn Sie beispielsweise bestimmte Produkte anlässlich des Black Friday beworben haben, können Sie die Ergebnisse so sehen, wie sie an diesem Tag angezeigt würden.

  7. Geben Sie die Seitenkategorie ein, für die Sie Stöberergebnisse testen.

  8. Optional: Wählen Sie Attribute aus, die neben den Ergebnissen angezeigt werden sollen, und klicken Sie auf OK, um sie anzuwenden.

    Mit den ausgewählten Attributen wird eine Liste von Attributfiltern generiert, die nach der ersten Suche unter Attribute hinzufügen angezeigt werden. Diese Attributfilter können andere Attribute als die in diesem Schritt ausgewählten Attribute enthalten, z. B. dynamische Attribute.

  9. Klicken Sie auf Vorschau durchsuchen oder drücken Sie die Eingabetaste in einem Eingabefeld, um die Ergebnisse anzusehen.

    Die Ergebnisse werden mit den verfügbaren Miniaturansichten angezeigt.

  10. Optional: Klicken Sie auf das Symbol Raster oder Liste, um die Darstellung der Ergebnisse in der Vorschau zu ändern.

  11. Optional: Wenn Sie Attribute ausgewählt haben, die neben Ihren Ergebnissen angezeigt werden sollen, wählen Sie einen oder mehrere Attributwerte aus der Attributliste aus, um die Ergebnisse nach diesen Werten zu filtern. Die Ergebnisse werden automatisch aktualisiert, sobald Sie die Auswahl getroffen haben.

    Wenn Sie mehrere Werte desselben Attributs auswählen, werden sie als OR-Operator angewendet. Werte für verschiedene Attribute werden wie der AND-Operator angewendet. Nachdem Sie beispielsweise die Facetten „Farbe“ und „Material“ ausgewählt haben, können Sie die Suchergebnisse filtern, indem Sie die Farbwerte „blau“ und „gold“ und die Materialwerte „Baumwolle“ und „Polyester“ auswählen. Ihre Ergebnisse müssen entweder „blau“ oder „gold“ als Attribut und außerdem entweder „Baumwolle“ oder „Polyester“ als Attribut enthalten.

Wenn Sie die Seite Details für die in der Vorschau angezeigte Bereitstellungskonfiguration aufrufen möchten, klicken Sie unter dem Feld Bereitstellungskonfiguration auswählen auf Bereitstellungskonfiguration ansehen.