Perluasan kueri adalah pelonggaran batasan kueri secara bertahap untuk menyertakan lebih banyak hasil jika tidak ada atau terlalu sedikit hasil yang ditemukan pada awalnya. Hal ini menyebabkan penyesuaian ukuran hasil per kueri.
Jika tidak ada dokumen yang relevan untuk kueri, perluasan kueri akan menampilkan dokumen yang kurang relevan untuk memastikan tidak ada hasil penelusuran yang ditampilkan.
Tidak seperti faset dinamis atau kontrol penayangan, misalnya, perluasan kueri tidak dapat dikonfigurasi langsung di konsol Google Cloud . Sebagai gantinya, Anda harus mengonfigurasi perluasan kueri secara terprogram untuk setiap permintaan penelusuran. Baca lebih lanjut untuk mengetahui cara mengonfigurasi perluasan kueri di API.
Tutorial perluasan kueri
Tutorial ini menunjukkan cara mengaktifkan fitur perluasan kueri. Jika pembeli menggunakan frasa penelusuran yang ambigu atau terdiri dari beberapa kata, mereka mungkin akan 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:
Ringkasan perluasan kueri
Perluasan kueri adalah fitur canggih yang dirancang untuk meningkatkan kemampuan penelusuran dan mencegah skenario tanpa hasil, terutama untuk kueri pengguna yang kompleks atau long-tail.
Daripada tidak menampilkan hasil saat kecocokan persis tidak ditemukan dalam katalog produk, perluasan kueri akan mengidentifikasi dan menampilkan produk terkait atau alternatif. Hal ini meningkatkan pengalaman pengguna dan dapat meningkatkan rasio konversi.
Kasus penggunaan utama untuk perluasan kueri adalah:
- Kueri long-tail: Untuk penelusuran yang sangat spesifik, seperti susu organik rendah lemak tinggi protein untuk penderita diabetes, katalog mungkin tidak memiliki kecocokan yang sempurna. Perluasan kueri dapat menampilkan produk yang cocok dengan bagian dari maksud, seperti produk yang diberi tag dengan atribut atau nilai atribut susu yang cocok untuk penderita diabetes, susu tinggi protein.
- Produk alternatif: Jika pengguna menelusuri merek atau produk yang tidak ada dalam katalog, seperti kopi Starbucks 100 ml, perluasan kueri dapat menyarankan merek kopi alternatif yang tersedia untuk dibeli, sehingga mencegah penelusuran yang tidak membuahkan hasil.
Bagian berikutnya menguraikan fungsi, mekanisme pemicu, dan nuansa konfigurasi fitur perluasan kueri di AI Commerce Search, dengan fokus khusus pada peran penting filter kanonis.
Mekanisme pemicu perluasan kueri
Keputusan untuk mengaktifkan perluasan kueri atau kueri penelusuran tertentu bersifat otomatis dan didasarkan pada aturan filter kanonis yang dapat dikonfigurasi dengan cepat.
- Kondisi pemicu: Perluasan kueri hanya dipicu jika penelusuran awal dengan kueri filter kanonis menghasilkan kurang dari 3 hasil produk.
- Nilai minimum: Nilai minimum 3 ini dapat diubah secara default. Nilai ini berfungsi dengan baik untuk sebagian besar kasus penggunaan e-commerce, sehingga memastikan perluasan kueri hanya diaktifkan jika dan saat kumpulan hasil awal benar-benar jarang.
Mengonfigurasi perluasan kueri di API
Perluasan kueri dikonfigurasi secara terprogram per permintaan menggunakan API sebagai berikut:
Konfigurasi API: Anda mengontrol perluasan kueri dengan menyertakan objek
queryExpansionSpecdiSearchRequest.Setelan: Dalam
queryExpansionSpec, Anda menetapkan kolomconditionkeAUTOuntuk mengaktifkan fitur atauDISABLEDuntuk menonaktifkannya, yang merupakan nilai default jika tidak ditentukan.Penyematan: Anda dapat secara opsional menetapkan
pinUnexpandedResultsketruedalam permintaan untuk memastikan kecocokan persis untuk kueri asli muncul di bagian atas hasil penelusuran, diikuti oleh hasil yang diperluas. Untuk mengetahui informasi selengkapnya, baca halaman penyematan.
Mengonfigurasi filter kanonis
Agar perluasan kueri dapat dipicu secara efektif, Anda harus mengonfigurasi canonical_filter dengan benar dalam permintaan penelusuran.
Untuk menerapkan perluasan kueri dengan benar, Anda harus memahami dua parameter filter utama dalam permintaan penelusuran, filter tingkat atas dan filter kanonis.
Filter tingkat atas (
filter): Ini adalah filter utama yang diterapkan ke hasil penelusuran sebelum ditampilkan kepada pengguna. Filter ini merupakan kombinasi dari dua lapisan potensial:Filter bisnis/dasar: Aturan yang telah ditentukan sebelumnya yang diterapkan ke semua penelusuran, sering kali tanpa input pengguna langsung, seperti
inStock=TRUE, category="groceries", storeId="XYZ".Filter faset yang dipilih pengguna: Filter yang diterapkan secara dinamis oleh pengguna saat berinteraksi dengan antarmuka penelusuran, seperti dengan memilih filter faset untuk brand="Adidas", size="L".
Filter kanonis (
canonical_filter): Ini adalah filter tujuan khusus yang digunakan secara eksklusif oleh modul keputusan perluasan kueri. Tugasnya hanya untuk menentukan tampilan katalog yang digunakan untuk mengevaluasi kondisi pemicu perluasan kueri (kurang dari lima hasil).
Fungsi filter kanonis inti
Filter kanonis dirancang untuk membedakan antara hasil penelusuran yang secara organik buruk dan kumpulan hasil yang sengaja dipersempit oleh pengguna. Filter ini dapat diperluas untuk mengecualikan logika bisnis guna memperhitungkan filter yang diterapkan pengguna, atau dipersempit untuk memicu perluasan kueri jika diperlukan, bergantung pada skenario pengguna.
Skenario 1
-
Perjalanan pengguna: Pengguna menelusuri kaos dan mendapatkan ribuan hasil. Ada
business_filterdefault, sehingga, misalnya, filter ini hanya memfilter produk yang tersedia dan produk yang cocok dengan atribut tingkat toko kustom. Kemudian, pengguna menerapkan filter faset untuk brand="Adidas" and size="L", yang mengurangi jumlah hasil menjadi dua. - Jika
canonical_filterditetapkan untuk menyertakan kondisi yang samafilter(sepertiAVAILABILITY: IN_STOCK AND color: "Red": Sistem keputusan perluasan kueri hanya akan melihat 2 hasil dan memicu perluasan kueri secara salah, sehingga membanjiri pengguna dengan produk terkait tetapi tidak relevan, seperti kaos Nike, yang melanggar pemfilteran eksplisit pengguna. - Setelan yang benar adalah
canonical_filter = business filter. Keputusan perluasan kueri harus dibuat berdasarkan kueri awal, tidak termasuk faset yang dipilih pengguna. Dengan mempertahankancanonical_filteryang luas, sistem akan mengidentifikasi dengan benar bahwa ada banyak produk yang cocok dalam katalog, sehingga memungkinkan sistem menghormati filter ketat pengguna tanpa memaksakan perluasan.
Skenario 2
-
Perjalanan pengguna: Pengguna menelusuri kaos adidas dengan cetakan grafis hitam dan hanya menghasilkan satu atau dua hasil, jika ada. Ada
business_filterdefault, sehingga, misalnya, filter ini hanya memfilter produk yang tersedia dan produk yang cocok dengan atribut tingkat toko kustom. - Jika
canonical_filtertidak ditetapkan atau tidak dikonfigurasi dengan benar, penelusuran dengan filter kanonis dapat menemukan produk yang cocok dengan kueri tetapi stoknya habis atau berasal dari toko lain, yang berarti nilai atribut tingkat toko kustom yang berbeda. Dalam hal ini, perluasan kueri tidak dipicu. -
Setelan yang benar adalah
canonical_filter = business filter. Dengan setelan ini, keputusan perluasan kueri menemukan kurang dari tiga produk untuk kueri panjang yang diberikan, lalu memicu perluasan kueri dan menampilkan produk terkait ke kueri asli, yang berarti produk yang tersedia yang cocok dengan atribut tingkat toko. Hal ini memperluas hasil penelusuran untuk menyertakan kaos dengan cetakan grafis hitam dari merek lain, kaos dengan cetakan grafis berwarna lain atau produk kaos lain dari merek yang dikueri. Sertakan batasan bisnis untuk kasus penggunaancanonical_filter.
Praktik terbaik perluasan kueri
Filter kanonis hampir selalu harus ditetapkan agar identik dengan filter bisnis atau dasar Anda. Hal ini memastikan bahwa modul perluasan kueri mengevaluasi potensi kueri terhadap tampilan katalog luas yang sama yang awalnya dilihat pengguna sebelum mereka mulai menerapkan faset.
Alur proses penelusuran dan perluasan kueri end-to-end
Saat permintaan penelusuran dibuat, beberapa proses paralel akan terjadi:
Permintaan diterima: API menerima permintaan penelusuran yang berisi kueri,
filterutama, dancanonical_filter.Penelusuran keputusan perluasan kueri: Secara paralel, modul keputusan perluasan kueri melakukan penelusuran internalnya sendiri menggunakan kueri yang dikombinasikan dengan filter kanonis.
Pemeriksaan jumlah hasil: Modul memeriksa jumlah produk yang ditampilkan dari penelusuran internalnya.
- Jika hasilnya lima atau lebih: Perluasan kueri tidak dipicu. Hasil penelusuran standar akan dilanjutkan ke langkah pemfilteran akhir.
- Jika hasilnya kurang dari lima: Perluasan kueri dipicu. Model secara sistematis melonggarkan kueri untuk menemukan produk terkait. Misalnya, model mungkin menemukan ponsel Pixel 5, ponsel Pixel 4, earbud Pixel, atau bahkan ponsel Samsung.
- Pemfilteran akhir: Kumpulan produk (kumpulan asli atau kumpulan yang diperluas dari perluasan kueri) diteruskan ke tahap akhir. Dalam hal ini, filter tingkat atas, yang berisi aturan bisnis dan faset yang dipilih pengguna, diterapkan secara ketat.
- Respons dikirim: Daftar produk yang difilter akhir ditampilkan dalam respons API.
Kasus penggunaan lanjutan dari aktivasi perluasan kueri selektif
Anda dapat mengonfigurasi filter secara strategis untuk mengaktifkan atau menonaktifkan perluasan kueri untuk bagian tertentu dari katalog Anda.
Pertimbangkan skenario katalog besar yang berisi bahan makanan, elektronik, dan pakaian. Untuk skenario seperti itu, Anda harus mengingat aspek-aspek berikut.
Sasaran
Mengaktifkan perluasan kueri untuk kueri bahan makanan yang sulit ditemukan atau langka, tetapi menampilkan nol hasil untuk item elektronik atau pakaian. Kebutuhan bisnis di sini adalah hanya mengaktifkan perluasan kueri secara selektif pada bagian bahan makanan.
Konfigurasi
Untuk skenario kasus penggunaan ini, perluasan kueri selektif dapat dikonfigurasi sebagai berikut:
canonical_filter: Tetapkan agar luas. Filter ini harus menyertakan semua kategori: Bahan makanan, elektronik, dan pakaian, serta aturan dasar seperti ketersediaan stok, yang menentukan filter kanonis dengancategory="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUE)filter: Tetapkan agar sempit, berdasarkan konteks pengguna. Untuk pengguna di bagian bahan makanan, filternya adalahcategory="groceries" AND inStock=TRUE.
Cara kerjanya
Perluasan kueri selektif berfungsi dalam skenario ini sebagai berikut:
- Pengguna menelusuri "iPhone 20": Modul perluasan kueri menggunakan canonical_filter yang luas, menemukan model iPhone yang ada (< 5 hasil), dan memutuskan untuk tidak memicu perluasan kueri. Hasil penelusuran standar (iPhone yang ada) kemudian diteruskan ke filter utama, yang memblokirnya karena
category="electronics"tidak cocok dengancategory="groceries". Pengguna melihat nol hasil dengan benar. - Pengguna menelusuri *susu tinggi protein untuk penderita diabetes:* Modul perluasan kueri menggunakan
canonical_filteryang luas dan menemukan <5 hasil, sehingga memicu perluasan kueri dengan menemukan produk susu terkait. Produk ini diteruskan ke filter utama. Karena cocok dengancategory="groceries", produk ini berhasil ditampilkan kepada pengguna.
Dengan memanipulasi cakupan canonical_filter (tampilan pengambilan keputusan) dan filter utama (tampilan output akhir), Anda akan mendapatkan kontrol yang tepat atas pengalaman penelusuran.
Contoh set data
Halaman ini menggunakan set data berikut sebagai contoh. Luaskan untuk melihat kolom dalam set data deskripsi produk contoh.
Contoh set data produk
| ID | title | brands | categories | price_info.price |
|---|---|---|---|---|
| "nest_mini_2nd_gen" | "Nest Mini (generasi ke-2)" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 49,00 |
| "nest_audio" | "Nest Audio" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 99,99 |
| "nest_hub_max" | "Nest Hub Max" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 229,00 |
| "nest_hub" | "Nest Hub" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 88,99 |
| "google_home_max" | "Google Home Max" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 299,00 |
| "google_home_mini" | "Google Home Mini" | ["Google", "Nest"] | ["Nest > speaker dan layar"] | 49,00 |
| "google_pixel_5" | "Google Pixel 5" | ["Google", "Pixel"] | ["Pixel > ponsel"] | 699,00 |
| "google_pixel_4a_with_5g" | "Google Pixel 4a dengan 5G" | ["Google", "Pixel"] | ["Pixel > ponsel"] | 499,00 |
| "google_pixel_4a" | "Ponsel Google Pixel 4a" | ["Google", "Pixel"] | ["Pixel > ponsel"] | 349,00 |
| "google_pixel_stand" | "Google Pixel Stand" | ["Google", "Pixel"] | ["Pixel > aksesori unggulan"] | 79,00 |
| "google_pixel_buds" | "Google Pixel Buds" | ["Google", "Pixel"] | ["Pixel > aksesori unggulan"] | 179,00 |
| "google_pixel_5_case" | "Casing Google Pixel 5" | ["Google", "Pixel"] | ["Pixel > aksesori unggulan"] | 40,00 |
| "google_pixel_4a_5g_case" | "Casing Google Pixel 4a (5G)" | ["Google", "Pixel"] | ["Pixel > aksesori unggulan"] | 40,00 |
| "google_pixel_4a_case" | "Casing Google Pixel 4a" | ["Google", "Pixel"] | ["Pixel > aksesori unggulan"] | 40,00 |
Perluasan kueri memperluas kueri penelusuran untuk mendapatkan lebih banyak hasil
Perluasan kueri meningkatkan kemampuan penelusuran untuk istilah kueri dengan sedikit hasil, terutama kueri long-tail. Kueri yang diperluas menghasilkan ukuran hasil penelusuran yang lebih besar.
Fitur penelusuran ini didukung oleh spesifikasi yang menentukan kondisi perluasan kueri. Fitur ini mencakup opsi pinUnexpandedResults yang dinonaktifkan secara default. Jika ditetapkan ke true, fitur ini akan menampilkan produk yang tidak diperluas di bagian atas hasil penelusuran. Bagian atas diikuti oleh hasil yang diperluas.
Java
Misalnya, jika Anda menelusuri Google Pixel 5 tanpa perluasan kueri, hasilnya akan dibatasi ke ID google_pixel_5. Namun, dengan perluasan kueri, Anda mungkin juga mendapatkan google_pixel_4a_with_5g, google_pixel_4a, dan
google_pixel_5_case ID dalam set data deskripsi produk contoh juga.