Suchanfragenerweiterung

Bei der Abfrageerweiterung werden die Abfrageeinschränkungen 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.

Anleitung zur Suchanfragenerweiterung

In dieser Anleitung erfahren Sie, wie Sie die Suchanfragenerweiterung aktivieren. Wenn ein Käufer eine mehrdeutige oder mehrteilige Suchanfrage verwendet, erhält er möglicherweise keine Antwort. Nachdem Sie die Suchanfragenerweiterung aktiviert haben, wird die Anfrage analysiert und die erweiterte Liste der Produkte auf Grundlage 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. Nur die zur Erläuterung erforderlichen Felder sind enthalten.

Suchanfragenerweiterung

Mit der Suchanfragenerweiterung wird die Trefferquote für Suchbegriffe mit wenigen Ergebnissen erhöht, insbesondere für Longtail-Suchanfragen.

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 Suchanfrageerweiterung nach „Google Pixel 5“ suchen, wird in den Ergebnissen möglicherweise nur „google_pixel_5“ angezeigt. Mit der Suchanfrageerweiterung werden möglicherweise auch „google_pixel_4a_with_5g“, „google_pixel_4a“ und „google_pixel_5_case“ zurückgegeben.