Perluasan kueri

Ekspansi kueri adalah pelonggaran bertahap batasan kueri untuk menyertakan lebih banyak hasil jika tidak ada atau terlalu sedikit yang ditemukan pada awalnya. Hal ini menyebabkan penyesuaian ukuran hasil per kueri.

Tutorial perluasan kueri

Tutorial ini menunjukkan cara mengaktifkan fitur perluasan kueri. Saat menggunakan frasa penelusuran yang ambigu atau terdiri dari beberapa kata, pembeli dapat mendapatkan respons kosong. Setelah mengaktifkan perluasan kueri, permintaan akan dianalisis dan daftar produk yang diperluas berdasarkan kueri penelusuran yang diuraikan akan ditampilkan.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Cloud Shell Editor, klik Pandu saya:

Pandu saya


Contoh set data

Halaman ini menggunakan set data berikut sebagai contoh. Hanya kolom yang diperlukan untuk penjelasan yang disertakan.

Perluasan kueri

Perluasan kueri meningkatkan recall untuk istilah kueri dengan sedikit hasil, terutama kueri long tail.

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

Misalnya, jika menelusuri "Google Pixel 5" tanpa perluasan kueri, Anda mungkin hanya mendapatkan "google_pixel_5" dalam hasil. Dengan perluasan kueri, Anda mungkin juga mendapatkan "google_pixel_4a_with_5g", "google_pixel_4a", dan "google_pixel_5_case".