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 für eine Anfrage überhaupt keine relevanten Dokumente gibt, werden durch die Abfrageerweiterung weniger relevante Dokumente zurückgegeben, damit die Anfrage nicht null Suchergebnisse zurückgibt.

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 zurückgegeben.


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

Anleitung


Beispieldatensatz

Auf dieser Seite wird das folgende Dataset als Beispiel verwendet. Maximieren Sie es, um die Felder im Datensatz mit der Beispielproduktbeschreibung 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 Suchbegriffe mit wenigen Ergebnissen erhöht, insbesondere für Longtail-Suchanfragen.

Diese Suchfunktion basiert auf einer Spezifikation, in der die Bedingungen für die Erweiterung von Suchanfragen festgelegt sind. Sie enthält die Option pinUnexpandedResults, die standardmäßig deaktiviert ist. Wenn dieser Parameter auf true festgelegt ist, werden nicht maximierte 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 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.