Mendapatkan hasil penelusuran

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

Jangan pernah menyimpan dalam 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 peringkat produk tersebut dengan cara yang paling memuaskan maksud 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 commerce secara default menggunakan relevansi dalam penelusuran. Namun, penelusuran juga disesuaikan untuk menampilkan item yang sedikit relevan di bagian atas hasil penelusuran guna memberikan hasil penelusuran yang lebih bertarget kepada retailer untuk meningkatkan potensi konversi peristiwa pengguna.

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

  • Opsi untuk mengurutkan hasil seperti berdasarkan harga, item dengan rating tertinggi, atau item terlaris. Penelusuran non-default disesuaikan untuk menampilkan hasil penelusuran tertentu dengan variasi 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 penyesuaian kekuatan promosi/penyembunyian untuk menyempurnakan hasil penelusuran.

Penelusuran menyediakan kemampuan penelusuran kueri teks dan penelusuran penjelajahan.

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

Dalam kasus penggunaan penjelajahan, pembeli dapat membuka menu situs Anda dan menavigasi ke kategori produk tertentu. Penelusuran secara otomatis memilih urutan pengurutan yang memaksimalkan pendapatan dengan mempelajari perilaku dan tren pengguna. Hasil penjelajahan dapat dipertajam lebih lanjut 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 melakukan penelusuran di situs Anda, penelusuran akan mengurutkan potensi hasil penelusuran berdasarkan relevansi, popularitas, kemampuan untuk dibeli, 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 menganggapnya sebagai peristiwa penelusuran berbasis teks.

Menjelajahi penelusuran

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

Untuk mendapatkan hasil penelusuran jelajah yang benar, pertimbangkan hal berikut:

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

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

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

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

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 penjelajahan 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 menjelajah tanpa menentukan apa pun menggunakan kueri teks, hasil penelusuran mungkin tidak menghasilkan hasil yang ditargetkan secara efektif, meskipun pengguna membuka halaman kategori.

Menggunakan permintaan penelusuran

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 dari 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 penjelajahan 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, sejumlah hasil yang wajar diurutkan berdasarkan relevansi.

Untuk mendapatkan atribut produk yang ditampilkan dengan respons penelusuran, pastikan untuk memberikan nilai atribut saat Anda mengimpor data katalog. Product memiliki atribut sistem yang telah ditentukan sebelumnya 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 for commerce 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 dengan menggunakan fitur ukuran halaman atau membuka halaman yang diinginkan dengan 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 berpindah dari satu halaman ke halaman lain, gunakan page_token atau offset, sesuai dengan kasus penggunaan Anda.

Untuk berpindah 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
}

Mulai dari SearchResponse, Anda bisa mendapatkan produk yang dihasilkan dengan 5 relevansi teratas, beserta 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 harus menetapkan page_token menggunakan placement, visitor_id, dan query yang sama dengan 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 membuka halaman demi 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 dari hasil saat ukuran halaman adalah 5, maka 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 yang lebih canggih, penelusuran dapat menampilkan hasil yang didasarkan pada relevansi, popularitas, pengoptimalan pendapatan, dan personalisasi.

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

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

Mengevaluasi hasil penelusuran dan penjelajahan teks

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

Untuk mengetahui 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 e-commerce.

    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 untuk pengguna tersebut.

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

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

  8. Opsional: Pilih faset yang akan ditampilkan bersama hasil penelusuran, lalu klik OKE 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 untuk 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, pemberitahuan yang menampilkan URI pengalihan akan muncul.

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

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

    Saat Anda memilih beberapa nilai dari faset yang sama, nilai tersebut diterapkan seperti operator OR, dan nilai di seluruh faset yang berbeda diterapkan seperti operator AND. 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 e-commerce.

    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 penjualan puncak, Anda dapat melihat hasilnya seperti yang akan muncul pada hari tersebut.

  7. Masukkan kategori halaman yang Anda uji hasil penjelajahannya.

  8. Opsional: Pilih faset yang akan ditampilkan bersama hasil, lalu klik Oke 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 ditampilkan bersama hasil, pilih satu atau beberapa nilai faset dari daftar faset untuk memfilter hasil menurut nilai tersebut. Hasil akan otomatis diperbarui setelah dipilih.

    Saat Anda memilih beberapa nilai dari faset yang sama, nilai tersebut diterapkan seperti operator OR, dan nilai di seluruh faset yang berbeda diterapkan seperti operator AND. 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 Detail untuk konfigurasi penayangan yang Anda pratinjau, klik Lihat konfigurasi penayangan di kolom Pilih konfigurasi penayangan.