結果サイズを調整する

このページでは、クエリ拡張の概要について説明します。

クエリ拡張のチュートリアル

このチュートリアルでは、クエリ拡張機能を有効にする方法について説明します。買い物客があいまいなまたは複数の単語からなる検索フレーズを使用すると、空のレスポンスが返される場合があります。クエリ拡張を有効にすると、リクエストが分析され、解析された検索クエリに基づいて商品の拡張リストが返されます。


このタスクを Cloud Shell エディタで直接行う際のガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


データセットの例

このページでは、次のデータセットを例として使用します。説明に必要なフィールドのみが含まれています。

クエリ拡張

クエリ拡張によって、特にロングテール クエリの場合は、結果が少ないクエリ キーワードの取り消しが増加します。

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);
  }
}

たとえば、クエリ拡張を使用せずに「Google Pixel 5」を検索すると、結果で「google_pixel_5」だけが返されます。クエリ拡張を使用すると、「google_pixel_4a_with_5g」、「google_pixel_4a」、「google_pixel_5_case」なども取得できます。