Mendapatkan hasil penelusuran

Halaman ini menjelaskan kueri dasar dengan penelusuran, termasuk penelusuran kueri teks, penelusuran jelajah, penomoran halaman, pengoptimalan, dan hasil yang dipersonalisasi.

Jangan pernah meng-cache hasil yang dipersonalisasi dari pengguna akhir, dan jangan pernah menampilkan hasil yang dipersonalisasi kepada pengguna akhir yang berbeda.

Relevansi berbeda dengan pencocokan. Pencocokan adalah menemukan produk kandidat dalam indeks yang sesuai dengan kueri penelusuran pengguna. Di sisi lain, relevansi adalah tingkat kecocokan. Hal ini melibatkan pemberian peringkat pada produk tersebut dengan cara yang paling memuaskan niat dan kebutuhan pengguna. Vertex AI Search untuk retail menggunakan teknik untuk meningkatkan pencocokan dan relevansi guna memberikan pengalaman penelusuran yang lebih baik secara keseluruhan bagi pengguna yang memenuhi kebutuhan retailer.

Vertex AI Search untuk retail secara default menggunakan relevansi dalam penelusuran. Namun, penelusuran juga disesuaikan untuk menampilkan item yang sedikit relevan lebih tinggi di hasil penelusuran guna memberikan hasil penelusuran yang lebih ditargetkan kepada retailer untuk meningkatkan potensi konversi peristiwa pengguna.

Fitur penelusuran tambahan ini mengoptimalkan algoritma relevansi default, yang menyediakan fitur non-default yang disesuaikan dengan profil penggunaan setiap retailer, termasuk:

  • Opsi untuk mengurutkan hasil seperti berdasarkan harga, item dengan rating teratas, atau item terlaris. Penelusuran non-default disesuaikan untuk menampilkan hasil penelusuran tertentu dengan varian produk yang benar. Misalnya, untuk menampilkan varian termurah atau termahal saat mengurutkan berdasarkan harga.

  • Penerapan otomatis filter relevansi yang lebih ketat untuk peristiwa pengguna non-default.

  • Mengaktifkan kontrol penguat/penyembunyikan kekuatan yang dapat disesuaikan untuk menyesuaikan hasil penelusuran.

Penelusuran menyediakan kemampuan penelusuran kueri teks dan penelusuran browse.

Dalam kasus penggunaan penelusuran kueri teks, pembeli mungkin memasukkan kueri berbasis teks di situs Anda. Penelusuran menampilkan respons penelusuran yang berisi produk yang sesuai dengan parameter kontrol yang telah Anda siapkan, yang diurutkan berdasarkan relevansi dan pengoptimalan pendapatan.

Dalam kasus penggunaan jelajah, pembeli mungkin membuka menu situs Anda dan membuka kategori produk tertentu. Penelusuran secara otomatis memilih urutan pengurutan yang paling memaksimalkan pendapatan dengan mempelajari perilaku dan tren pengguna. Hasil jelajah dapat lebih dipertajam dengan kontrol yang telah Anda siapkan.

Permintaan penelusuran teks dan penelusuran jelajah menggunakan metode servingConfigs.search.

Penelusuran kueri teks

Saat pengguna memasukkan kueri teks untuk menelusuri di situs Anda, penelusuran akan mengurutkan potensi hasil penelusuran berdasarkan relevansi, popularitas, kemampuan beli, dan personalisasi.

Penelusuran menganggap permintaan servingConfigs.search sebagai permintaan penelusuran berbasis teks jika memiliki kolom query yang tidak kosong.

Saat mengupload peristiwa pengguna, kirim peristiwa penelusuran kueri teks yang dihasilkan oleh penelusuran sebagai peristiwa pengguna search. Jika peristiwa memiliki kolom userEvent.searchQuery yang tidak kosong dan kolom userEvent.pageCategories yang kosong, penelusuran akan menganggapnya sebagai peristiwa penelusuran berbasis teks.

Menjelajahi penelusuran

Jelajah menggunakan navigasi situs untuk menghasilkan hasil penelusuran dengan relevansi yang sama yang diurutkan berdasarkan item terlaris. Penelusuran memanfaatkan AI untuk mengoptimalkan cara pengurutan hasil penelusuran dengan mempertimbangkan popularitas, kemudahan pembelian, dan personalisasi.

Menayangkan permintaan dan peristiwa dengan kolom kueri kosong dan kolom page_categories yang tidak kosong dianggap sebagai permintaan jelajah dan peristiwa pengguna. Kolom page_categories menentukan halaman jelajah itu sendiri. Saat metode servingConfigs.search mengirim permintaan, penelusuran akan menganggapnya sebagai permintaan penelusuran jelajah jika kolom query kosong. Jika demikian, hasilnya didasarkan pada kolom filter dan pageCategories, serta pengoptimalan dan personalisasi lebih lanjut jika tersedia.

Untuk hasil penelusuran yang benar, pertimbangkan hal-hal berikut:

  • Nilai pageCategories dan filter dalam permintaan penelusuran Anda harus sama persis dengan nilai pageCategories dan filter dalam peristiwa pengguna yang Anda upload. Nilai filter dalam peristiwa pengguna yang Anda upload. Jika parameter dalam permintaan tidak cocok dengan parameter dalam peristiwa, model pemeringkatan ulang berbasis klik yang dipelajari dari peristiwa tidak akan berperforma sangat baik untuk kueri tertentu ini dan akan berdampak buruk pada kualitas hasil.

  • Vertex AI Search untuk retail mengategorikan peristiwa pengguna search sebagai peristiwa berbasis penjelajahan jika memiliki kolom userEvent.searchQuery kosong dan kolom userEvent.pageCategories yang tidak kosong. Itulah sebabnya Anda harus memastikan untuk mengirim peristiwa penjelajahan yang dihasilkan oleh Vertex AI Search untuk retail sebagai peristiwa pengguna search saat menguploadnya.

  • Filter jelajah harus valid dan menunjukkan untuk setiap kueri jelajah produk mana yang termasuk dalam kategori produk yang sedang dijelajahi pengguna. Untuk mencapai penyiapan ini, ID kategori perlu ditentukan di kolom filter dan page_category. Misalnya, jika Anda ingin hasil penelusuran ditargetkan ke Rumah & Taman. Pertama, hanya memiliki satu nilai filter dari "in-stock" tidak cukup menyaring penelusuran untuk memberikan hasil penjelajahan yang optimal. Untuk memberikan hasil penelusuran yang dibatasi untuk Home & Garden, Anda tidak hanya perlu menetapkan "Home \& Garden" di kategori halaman, tetapi juga di filter dengan categories: ANY("Home & Garden"). Jika Anda lalai menentukan kategori di bagian filter, hasil penelusuran mungkin terlalu luas dan menyertakan banyak item non-Rumah & Taman.

Anda dapat menetapkan kategori di keduanya seperti dalam contoh ini:

JSON

page_category: "Home & Garden"
filter: "(availability: ANY("IN_STOCK")) AND (categories: ANY("Home & Garden"))"

Jika tidak, karena jelajah berfungsi dengan kueri string kosong, produk dalam kategori tertentu tidak akan otomatis ditampilkan dalam hasil untuk kategori halaman tertentu. Dengan kata lain, jika pengguna akhir menjelajahi tanpa menentukan apa pun menggunakan kueri teks, hasil penelusuran mungkin tidak menghasilkan hasil yang ditargetkan secara efektif, meskipun pengguna membuka halaman kategori.

Gunakan permintaan penelusuran untuk mendapatkan hasil penelusuran teks dan penelusuran jelajah. Untuk membuat permintaan penelusuran, gunakan metode servingConfigs.search.

Semua permintaan penelusuran memerlukan placement, yang mengidentifikasi nama resource lengkap konfigurasi penayangan yang akan digunakan. Konfigurasi penayangan menentukan setelan dan kontrol terkait yang memengaruhi hasil penelusuran.

Permintaan penelusuran kueri teks memerlukan kolom query yang tidak kosong.

Permintaan penelusuran jelajah memerlukan kolom pageCategories yang tidak kosong.

Java

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

public static void searchProducts(String query) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .build();

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

Secara default, jumlah hasil yang wajar yang diurutkan berdasarkan relevansi akan ditampilkan.

Untuk mendapatkan atribut produk yang ditampilkan dengan respons penelusuran, pastikan untuk memberikan nilai atribut saat Anda mengimpor data katalog. Product memiliki atribut sistem standar seperti merek, warna, dan ukuran yang dapat Anda berikan nilainya. Anda juga dapat menyertakan atribut kustom yang Anda tentukan dengan Product.attributes.

Tutorial membuat kueri

Tutorial ini menunjukkan cara mengirim kueri penelusuran berbasis teks ke layanan Vertex AI Search untuk retail dan menganalisis responsnya.


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

Pandu saya


Penomoran halaman

Gunakan penomoran halaman untuk mengurangi waktu pencarian dan ukuran respons yang dikirim.

Tutorial penomoran halaman

Tutorial ini menunjukkan cara mengontrol penomoran halaman dalam permintaan penelusuran berbasis teks. Saat pembeli mencari produk di toko, mereka dapat meningkatkan navigasi melalui hasil penelusuran. Misalnya, mereka dapat membatasi jumlah item dalam respons penelusuran menggunakan fitur ukuran halaman atau langsung ke halaman pilihan mereka menggunakan fitur offset.


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

Pandu saya


Memberi nomor halaman

Untuk beralih dari satu halaman ke halaman lain, gunakan page_token atau offset, sesuai dengan kasus penggunaan Anda.

Untuk melompat ke halaman berikutnya, Anda dapat menggunakan page_token. Misalnya, Anda mengirim SearchRequest berikut.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
}

Dari SearchResponse, Anda bisa mendapatkan produk yang dihasilkan dengan relevansi top 5, bersama dengan next_page_token.

JSON

{
  results: [
    products{...}, products{...}, products{...}, products{...}, products{...}
  ]
  next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
  total_size: 100
  search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM"
}

Untuk mendapatkan produk hasil dengan 5 relevansi berikutnya (ke-6 hingga ke-10), Anda akan menetapkan page_token menggunakan placement, visitor_id, dan query yang sama seperti next_page_token dari SearchResponse sebelumnya.

Java

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

public static void searchProducts_withNextPageToken(String query, int pageSize)
    throws IOException, InterruptedException {
  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchRequest firstRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .build();

    SearchResponse firstResponse = searchClient.search(firstRequest).getPage()
        .getResponse();
    System.out.println("First search response: " + firstResponse);

    SearchRequest secondRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .setPageToken(firstResponse.getNextPageToken())
        .build();

    SearchResponse secondResponse = searchClient.search(secondRequest).getPage()
        .getResponse();
    System.out.println("Second search response: " + secondResponse);
  }
}

Dalam contoh ini, SearchRequest terlihat seperti ini:

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
}

Dalam beberapa kasus lain, alih-alih menavigasi dari halaman ke halaman atau mendapatkan hasil dengan relevansi teratas, Anda dapat langsung melompat ke posisi tertentu dengan offset.

Java

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

public static void searchProducts_withOffset(String query, int pageSize,
    int offset) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setOffset(offset)
      .build();

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

Misalnya, jika Anda menginginkan halaman kesepuluh hasil saat ukuran halamannya adalah 5, Anda dapat menetapkan offset menjadi 45, yang dihitung dengan (10 - 1) * 5.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  offset: 45
}

Tingkat performa penelusuran

Penelusuran menawarkan beberapa tingkat performa penelusuran yang semakin meningkatkan hasil Anda. Misalnya, untuk kasus penggunaan penelusuran kueri teks, hasil mungkin hanya didasarkan pada relevansi. Saat Anda membuka tingkat performa lanjutan, penelusuran dapat menampilkan hasil yang didasarkan pada relevansi, popularitas, pengoptimalan pendapatan, dan personalisasi.

Penelusuran akan otomatis membuka tingkat performa yang lebih tinggi saat Anda mengupload data peristiwa pengguna dan katalog yang memenuhi persyaratan minimum setiap tingkat.

Halaman Kualitas data di konsol Penelusuran untuk Retail memberikan penilaian tentang persyaratan yang telah Anda penuhi untuk setiap tingkat. Untuk informasi selengkapnya tentang cara menggunakan halaman ini untuk melihat kualitas data dan tingkat performa penelusuran, lihat Memanfaatkan tingkat performa penelusuran.

Mengevaluasi penelusuran teks dan hasil penjelajahan

Sebelum memperbarui kode situs untuk meminta penelusuran teks atau menjelajahi hasil penelusuran, Anda dapat melihat pratinjau hasilnya untuk mengonfirmasi bahwa konfigurasi penayangan Anda berfungsi seperti yang Anda harapkan.

Untuk informasi selengkapnya tentang konfigurasi inferensi, lihat Tentang konfigurasi inferensi.

Anda dapat melihat pratinjau hasil konfigurasi penayangan dari halaman Evaluasi, atau dengan membuka halaman Detail konfigurasi penayangan di konsol dan mengklik tab Evaluasi. Langkah-langkah berikut menunjukkan cara melihat pratinjau dari halaman Evaluasi.

Untuk melihat pratinjau hasil yang ditampilkan oleh konfigurasi penayangan Anda:

  1. Buka halaman Evaluasi di konsol Penelusuran untuk Retail.

    Buka halaman Evaluasi

  2. Klik tab Penelusuran.

  3. Pilih konfigurasi penayangan yang ingin Anda lihat pratinjaunya.

  4. Pilih cabang katalog yang berisi katalog yang ingin Anda lihat pratinjaunya.

  5. Opsional: Masukkan ID pengunjung untuk melihat pratinjau hasil penelusuran bagi pengguna tersebut.

  6. Opsional: Masukkan ID pengguna untuk melihat pratinjau hasil penelusuran bagi pengguna tersebut.

  7. Opsional: Masukkan waktu penelusuran untuk melihat pratinjau hasil penelusuran yang akan muncul pada waktu yang ditentukan.

    Misalnya, jika telah mempromosikan produk tertentu untuk Black Friday, Anda dapat melihat hasilnya seperti yang akan muncul pada hari tersebut.

  8. Opsional: Pilih faset yang akan ditampilkan bersama hasil penelusuran, lalu klik OK untuk menerapkannya.

    Faset yang Anda pilih digunakan untuk membuat daftar filter faset yang muncul di bagian Tambahkan faset setelah Anda melakukan penelusuran awal. Filter facet ini dapat mencakup facet selain yang Anda pilih pada langkah ini, seperti facet dinamis.

  9. Masukkan kueri penelusuran berbasis teks untuk melihat pratinjau hasil penelusuran kueri tersebut.

  10. Klik Pratinjau penelusuran atau tekan enter di kolom input mana pun untuk melihat hasilnya.

    Hasil penelusuran ditampilkan dengan gambar thumbnail yang tersedia.

    Jika penelusuran Anda memicu kontrol pengalihan, akan muncul pemberitahuan yang menampilkan URI pengalihan.

  11. Opsional: Klik ikon Petak atau ikon Daftar untuk mengubah cara hasil penelusuran ditampilkan dalam pratinjau.

  12. Opsional: Jika Anda memilih faset untuk muncul bersama hasil, pilih satu atau beberapa nilai faset dari daftar faset untuk memfilter hasil berdasarkan nilai tersebut. Hasilnya akan otomatis diperbarui setelah dipilih.

    Saat Anda memilih beberapa nilai dari faset yang sama, nilai tersebut akan diterapkan seperti operator ATAU, dan nilai di berbagai faset akan diterapkan seperti operator DAN. Misalnya, setelah memilih faset warna dan nilai "biru" dan "emas", serta nilai bahan "katun" dan "poliester". Hasil penelusuran Anda harus memiliki "biru" atau "emas" sebagai atribut, dan juga harus memiliki "katun" atau "poliester" sebagai atribut.

Jelajahi

  1. Buka halaman Evaluasi di konsol Penelusuran untuk Retail.

    Buka halaman Evaluasi

  2. Klik tab Jelajahi.

  1. Pilih konfigurasi penayangan yang ingin Anda lihat pratinjaunya.

  2. Pilih cabang katalog yang berisi katalog yang ingin Anda lihat pratinjaunya.

  3. Opsional: Masukkan ID pengunjung untuk melihat pratinjau hasil bagi pengguna tersebut.

  4. Opsional: Masukkan ID pengguna untuk melihat pratinjau hasil bagi pengguna tersebut.

  5. Untuk melihat pratinjau tampilan hasil dengan filter tertentu yang ditambahkan, masukkan string filter. Gunakan sintaksis ekspresi filter yang ditentukan dalam dokumentasi Filter.

  6. Opsional: Masukkan waktu penjelajahan untuk melihat pratinjau hasil yang akan muncul pada waktu yang ditentukan.

    Misalnya, jika Anda telah mempromosikan produk tertentu untuk acara puncak penjualan, Anda dapat melihat hasilnya seperti yang akan muncul pada hari tersebut.

  7. Masukkan kategori halaman yang hasil jelajahnya Anda uji.

  8. Opsional: Pilih faset yang akan ditampilkan bersama hasil, lalu klik OK untuk menerapkannya.

    Faset yang Anda pilih digunakan untuk membuat daftar filter faset yang muncul di bagian Tambahkan faset setelah Anda melakukan penelusuran awal. Filter facet ini dapat mencakup facet selain yang Anda pilih pada langkah ini, seperti facet dinamis.

  9. Klik Jelajahi pratinjau atau tekan enter di kolom input mana pun untuk melihat hasilnya.

    Hasil ditampilkan dengan gambar thumbnail yang tersedia.

  10. Opsional: Klik ikon Petak atau ikon Daftar untuk mengubah cara hasil ditampilkan dalam pratinjau.

  11. Opsional: Jika Anda memilih faset untuk muncul bersama hasil, pilih satu atau beberapa nilai faset dari daftar faset untuk memfilter hasil berdasarkan nilai tersebut. Hasilnya akan otomatis diperbarui setelah dipilih.

    Saat Anda memilih beberapa nilai dari faset yang sama, nilai tersebut akan diterapkan seperti operator ATAU, dan nilai di berbagai faset akan diterapkan seperti operator DAN. Misalnya, setelah memilih faset warna dan bahan, Anda dapat memfilter hasil penelusuran dengan memilih nilai warna "biru" dan "emas", serta nilai bahan "katun" dan "poliester". Hasil Anda harus memiliki "biru" atau "emas" sebagai atribut, dan juga harus memiliki "katun" atau "poliester" sebagai atribut.

Untuk melihat halaman Details untuk konfigurasi penayangan yang Anda lihat pratinjaunya, klik View serving config di bagian kolom Select serving config.