Suchergebnisse erhalten

Auf dieser Seite werden grundlegende Suchanfragen in der Suche beschrieben, einschließlich Text- und Stöbersuchen, Paginierung, Optimierung und personalisierter Ergebnisse.

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

Über die Textsuche und „Stöbersuche mit Suche“

Die Suchfunktion bietet sowohl Suchfunktionen für Textabfragen als auch Suchfunktionen.

Beim Anwendungsfall „Textabfragesuche“ könnte ein Käufer eine textbasierte Suchanfrage auf Ihrer Website eingeben. Die Suche gibt eine Suchantwort mit Produkten zurück, die den Parametern der von Ihnen eingerichteten Kontrollen entsprechen, sortiert nach Relevanz und Umsatzmaximierung.

Im Anwendungsfall „Stöbern“ könnte ein Käufer z. B. das Menü Ihrer Website aufrufen und zu einer bestimmten Produktkategorie wechseln. Die Suche wählt automatisch die umsatzsteigerndste Sortierreihenfolge aus, indem sie aus dem Nutzerverhalten und den Trends lernt. Die Suchergebnisse können mithilfe der von Ihnen eingerichteten Steuerelemente weiter verfeinert werden.

Sowohl in Anfragen vom Typ „Textsuche“ als auch bei Suchanfragen zum Stöbern wird die Methode servingConfigs.search verwendet.

Textsuchanfragen

Gibt ein Nutzer eine Textabfrage ein, um auf Ihrer Website zu suchen, werden potenzielle Suchergebnisse nach Relevanz, Beliebtheit, Kaufbarkeit und Personalisierung sortiert.

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

Beim Hochladen von Nutzerereignissen Textabfrage-Suchereignisse, die durch die Suche generiert wurden, als search-Nutzerereignisse senden. Wenn das Ereignis ein nicht leeres userEvent.searchQuery-Feld und ein leeres userEvent.pageCategories-Feld enthält, wird es in der Suche als textbasiertes Suchereignis betrachtet.

Suchanfragen durchsuchen

In der Regel erhalten Sie beim Suchen nach Produkten über die Websitenavigation Ergebnisse, die alle gleichermaßen relevant sind oder nach meistverkauften Artikeln sortiert sind. Die Suche nutzt KI, um die Sortierung von Stöberergebnissen anhand von Beliebtheit, Kaufbarkeit und Personalisierung zu optimieren.

Wenn die Methode servingConfigs.search eine Anfrage sendet, wird dies von der Suche als Stöbersuchanfrage betrachtet, wenn das Feld query leer ist. In diesem Fall basieren die Ergebnisse auf den Feldern filter und pageCategories sowie auf weiteren Optimierungen und Personalisierungen, sofern verfügbar.

Achten Sie beim Hochladen von Nutzerereignissen darauf, dass durch die Suche generierte Stöbersuchereignisse als search-Nutzerereignisse gesendet werden. Die Suche betrachtet ein search-Nutzerereignis als stöberbasiertes Ereignis, wenn ein leeres userEvent.searchQuery-Feld und ein nicht leeres userEvent.pageCategories-Feld vorhanden sind.

Damit die richtigen Suchergebnisse 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.

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

Alle Suchanfragen erfordern placement. Damit wird der vollständige Ressourcenname der zu verwendenden Bereitstellungskonfiguration angegeben. Die Bereitstellungskonfiguration bestimmt, welche Einstellungen und zugehörigen Steuerelemente sich auf die Suchergebnisse auswirken.

Für Textabfrage-Suchanfragen muss das Feld query nicht leer sein.

Für Suchanfragen muss das Feld pageCategories nicht 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

Seitenumbruch verwenden, um die Suchzeit und die Größe der gesendeten Antworten zu verkürzen

Anleitung zum Seitenumbruch

In dieser Anleitung erfahren Sie, wie Sie den Seitenumbruch in einer textbasierten Suchanfrage steuern. Wenn ein Käufer in einem Geschäft nach Produkten sucht, kann er die Navigation durch die Suchergebnisse verbessern. Beispielsweise können sie die Anzahl der Elemente in der Suchantwort mit der Funktion für die Seitengröße begrenzen oder mit der Funktion „Versatz“ zur 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 Suche bietet mehrere Stufen für die Suchleistung, mit denen Sie Ihre Ergebnisse immer besser machen. Bei Anwendungsfällen für die Textabfragesuche 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 einzelnen Stufen 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 Aufrufen von Datenqualitäts- und Suchleistungsstufen finden Sie unter Stufen für die Suchleistung freischalten.

Textsuche auswerten und Ergebnisse ansehen

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 die Bereitstellungskonfiguration wie erwartet funktioniert.

Weitere Informationen zu Bereitstellungskonfigurationen finden Sie unter Bereitstellungskonfigurationen.

Sie können sich eine Vorschau der Ergebnisse der Bereitstellungskonfiguration entweder auf der Seite Bewerten 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 eine Vorschau über die Seite Bewerten aufrufen.

So können Sie sich eine Vorschau der Ergebnisse ansehen, 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 Suche.

  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 anzusehen.

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

  7. Optional: Geben Sie eine Suchzeit ein, um eine Vorschau der Suchergebnisse zu sehen, die zur angegebenen Zeit angezeigt werden würden.

    Wenn Sie beispielsweise für Black Friday Werbung für bestimmte Produkte gemacht haben, können Sie die Ergebnisse so sehen, wie sie an diesem Tag erscheinen 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 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 für diese Anfrage anzusehen.

  10. Klicken Sie auf Vorschau suchen oder drücken Sie die Eingabetaste in einem beliebigen Eingabefeld, um die Ergebnisse anzusehen.

    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 den 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 nach der Auswahl automatisch aktualisiert.

    Wenn Sie mehrere Werte desselben Attributs auswählen, werden sie als OR-Operator angewendet. Werte in verschiedenen Attributen werden dann als AND-Operator angewendet. Nachdem Sie beispielsweise die Attribute „Farbe“ und die Werte „blau“ und „gold“ sowie die Materialwerte „Baumwolle“ und „Polyester“ ausgewählt haben, Die Suchergebnisse müssen als Attribut entweder „blau“ oder „gold“ sowie 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, die Sie als 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 die Ergebnisse für diesen Nutzer in der Vorschau anzusehen.

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

  5. Optional: Geben Sie einen Filterstring ein, um zu sehen, wie die Ergebnisse mit einem bestimmten Filter aussehen würden. Verwenden Sie die in der Filter-Dokumentation angegebene Syntax für Filterausdrücke.

  6. Optional: Geben Sie eine Suchzeit ein, um eine Vorschau der Ergebnisse zu sehen, die zur angegebenen Zeit angezeigt werden würden.

    Wenn Sie beispielsweise für Black Friday Werbung für bestimmte Produkte gemacht haben, können Sie die Ergebnisse so sehen, wie sie an diesem Tag erscheinen würden.

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

  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 als die in diesem Schritt ausgewählten Attribute enthalten, z. B. dynamische Attribute.

  9. Klicken Sie auf Vorschau ansehen 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 Anzeige der Ergebnisse in der Vorschau zu ändern.

  11. Optional: Wenn Sie Attribute ausgewählt haben, die neben den 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 nach der Auswahl automatisch aktualisiert.

    Wenn Sie mehrere Werte desselben Attributs auswählen, werden sie als OR-Operator angewendet. Werte in verschiedenen Attributen werden dann als AND-Operator angewendet. Nachdem Sie beispielsweise die Attribute „Farbe“ und „Material“ ausgewählt haben, können Sie die Suchergebnisse filtern, indem Sie die Farbwerte „blau“ und „gold“ sowie die Materialwerte „Baumwolle“ und „Polyester“ auswählen. Die Ergebnisse müssen entweder „blau“ oder „gold“ als Attribut sowie entweder „Baumwolle“ oder „Polyester“ enthalten.

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