Meningkatkan hasil

Anda dapat menentukan data yang harus ditinggikan dalam penelusuran.

Tutorial peningkatan

Tutorial ini menunjukkan beberapa contoh peningkatan produk.


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.

Prasyarat

Lihat Memfilter dan mengurutkan hasil untuk sintaksis ekspresi filter.

Peningkatan

Dengan pengoptimalan, Anda dapat mengontrol peringkat hasil dengan menerapkan pengoptimalan untuk memprioritaskan atau mendeprioritaskan hasil.

Misalnya, jika Anda menelusuri "Speaker Google", Anda akan mendapatkan "nest_mini_2nd_gen", "nest_audio", "nest_hub_max", "nest_hub", "google_home_max", dan "google_home_mini" tanpa urutan tertentu.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchRequest.BoostSpec;
import com.google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProductsWithBoostSpec(String query, int pageSize,
    String condition, float boostStrength) throws IOException, InterruptedException {
  BoostSpec boostSpec = BoostSpec.newBuilder()
      .addConditionBoostSpecs(ConditionBoostSpec.newBuilder()
          .setCondition(condition)
          .setBoost(boostStrength)
          .build())
      .build();

  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setBoostSpec(boostSpec)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Misalnya, Anda ingin memprioritaskan produk yang lebih murah (kurang dari 95 dollar) dan menurunkan prioritas produk yang mahal (lebih dari 95 dollar). Anda dapat menerapkan spesifikasi peningkatan sebagai:

JSON

{
  condition_boost_specs {
    condition: "price: IN(*, 95.0e)"
    boost: 0.5
  }
  condition_boost_specs {
    condition: "price: IN(95.0e, *)"
    boost: -0.5
  }
}

Hasilnya, "nest_mini_2nd_gen", "google_home_mini", dan "nest_hub" mungkin adalah tiga yang pertama, sedangkan "nest_audio", "nest_hub_max", dan "google_home_max" mungkin adalah tiga yang terakhir. Namun, tidak ada urutan tertentu yang dijamin, yang berbeda dengan mengurutkan menurut harga, seperti yang dibahas dalam Memfilter dan mengurutkan hasil.