Saran drop-down adalah fitur layanan pencarian dasar yang secara cerdas merekomendasikan kueri kandidat saat pengguna mengetik, sehingga meningkatkan efisiensi input dan membantu pengguna menemukan konten lebih cepat.
Pengenalan fungsi
Fitur saran drop-down secara cerdas mengekstraksi kueri dari konten dokumen. Anda dapat memperoleh kueri kandidat berdasarkan awalan bahasa Tionghoa, awalan Pinyin lengkap, awalan akronim Pinyin, kombinasi karakter Tionghoa dan Pinyin, awalan setelah tokenisasi, serta homofon Tionghoa.
Sebagai contoh, Anda dapat memperoleh kueri long dress dengan mencari salah satu dari berikut:
Awalan Tionghoa:
连, 连衣, ….Awalan Pinyin lengkap:
l, li, lian, lianyi, lianyiqun, …Awalan akronim Pinyin:
l, ly, lyq, …Karakter Tionghoa dan Pinyin:
dress yi, one-piece dress qun, …Awalan setelah tokenisasi:
long style, long style one-piece dress, one-piece dress long, …Homofon Tionghoa:
one-piece dress group, social group, …
Selain itu, Anda dapat menggunakan entri intervensi untuk mengelola data saran drop-down serta melihat berbagai metrik bisnis terkait fitur ini. Untuk informasi selengkapnya, lihat Laporan saran drop-down.
Catatan penggunaan
Sumber data
Data saran drop-down terutama berasal dari dokumen aplikasi. Untuk setiap model saran drop-down, Anda dapat memilih hingga tiga bidang dari satu aplikasi sebagai sumber data. Selama pemrosesan, sistem memilih sebagian dokumen dari aplikasi—jumlahnya bisa mencapai jutaan—lalu memproses bidang-bidang yang dipilih sesuai aturan tertentu untuk menghasilkan data kandidat saran. Terakhir, sistem menyimpan sejumlah data tertentu sebagai kueri kandidat berdasarkan aturan lainnya.
Aturan Pembuatan Kueri
Sistem menghasilkan kueri kandidat dari kueri historis selama N hari terakhir (default-nya 7). Faktor yang dipertimbangkan meliputi bobot kata kunci kueri, jumlah hasil yang diambil, frekuensi pencarian historis, serta apakah kueri tersebut menghasilkan respons pada hari sebelumnya. Proses ini memilih kueri pencarian historis populer sebagai kandidat. Sistem mendukung dua aturan untuk menghasilkan kueri kandidat: Ekstraksi dan pembuatan serta Pertahankan nilai asli.
Ekstraksi dan pembuatan: Aturan ini menggunakan alat analisis dari tim Alibaba Cloud NLP yang dilatih menggunakan data bahasa alami dalam jumlah besar. Alat analisis melakukan tokenisasi konten bidang, mengekstraksi istilah bermakna, lalu menggabungkannya untuk membuat kueri kandidat. Metode ini membantu memastikan bahwa kueri yang dihasilkan dapat mengambil dokumen yang sesuai.
Pertahankan nilai asli: Aturan ini menggunakan konten bidang secara langsung sebagai kueri kandidat tanpa tokenisasi. Jika panjang konten bidang melebihi batas 30 karakter, bidang tersebut dipotong dan 30 karakter pertama digunakan sebagai kueri kandidat. Metode ini cocok untuk bidang aplikasi yang tidak memerlukan tokenisasi, seperti nama toko, username, atau judul lagu. Metode ini juga berguna ketika Anda membuat sendiri kueri kandidat dan ingin menampilkannya apa adanya. Kami menyarankan agar Anda menggunakan bidang yang singkat dan jelas.
Catatan: Kueri kandidat yang diekstraksi berasal dari permintaan pencarian historis dan permintaan yang mencakup parameter raw_query selama N hari terakhir. Default-nya tujuh hari.
Intervensi manual
Saran drop-down mendukung metode intervensi berikut:
Anda dapat melakukan intervensi terhadap hasil kueri kandidat menggunakan daftar hitam dan daftar putih.
Anda dapat mengatur kondisi filter untuk dokumen aplikasi sumber data. Setelah mengonfigurasi kondisi filter, hanya dokumen aplikasi yang memenuhi kondisi tersebut yang digunakan untuk menghasilkan kueri kandidat saran drop-down.
Parameter | Deskripsi |
Kondisi filter | Masukkan bidang dari skema tabel aplikasi OpenSearch. Kondisi filter ini berlaku untuk semua data dokumen dalam aplikasi saat ini. Catatan:
Contoh: Jika kondisi filter-nya status=1,level=1, hanya catatan yang memenuhi kondisi ini yang dipilih. |
Konfigurasi konsol ditunjukkan pada gambar berikut:

Intervensi Hasil Kueri Kandidat
Daftar hitam: Kata kunci dalam daftar hitam mendukung pencocokan 'mengandung'. Kueri yang mengandung kata kunci dari daftar hitam tidak akan muncul dalam hasil saran drop-down. Jika hasil yang tidak diinginkan muncul dalam saran Anda, Anda dapat menambahkan kata kunci ke daftar hitam untuk memblokirnya.
Daftar putih: Saat kueri dari daftar putih memenuhi kriteria rekomendasi, kueri tersebut diprioritaskan dalam saran drop-down. Jika beberapa kueri berkualitas tinggi tidak dikenali atau peringkatnya rendah, Anda dapat menambahkannya ke daftar putih untuk mendapatkan hasil saran yang lebih baik. Untuk informasi selengkapnya tentang cara mengonfigurasi daftar hitam dan daftar putih, klik di sini.
Aplikasi Edisi Standar tidak mendukung saran drop-down. Fitur ini hanya tersedia untuk aplikasi Edisi Premium.
Anda dapat membuat maksimal 10 model saran drop-down untuk satu aplikasi.
Nama model harus unik untuk setiap pengguna. Aturan ini berlaku untuk model saran drop-down, model popularitas, prediksi kategori, pencarian teratas, dan model petunjuk.
Untuk sumber data, saran drop-down hanya mendukung bidang bertipe TEXT, SHORT_TEXT, LITERAL, dan INT yang telah memiliki indeks.
Anda dapat memilih maksimal 3 bidang pelatihan untuk model yang sama.
Saat Anda memodifikasi skema aplikasi, Anda tidak dapat mengubah bidang yang digunakan sebagai sumber data untuk saran drop-down.
Saat melatih model saran drop-down, pastikan tabel aplikasi memiliki lebih dari 1.000 entri data, yaitu jumlah gabungan dari raw_query dan data yang disimpan dalam aplikasi. Jika tidak, pelatihan model dapat gagal karena masalah integritas data.
Saat Anda menghapus aplikasi, model saran drop-down yang terkait juga akan dihapus.
Untuk pencarian saran drop-down, parameter query mendukung panjang maksimum 30 byte dalam encoding UTF-8, setara dengan 10 karakter Tionghoa. Jika kueri melebihi batas ini, sistem akan melaporkan error dan tidak mengembalikan hasil.
Untuk pencarian saran drop-down, nilai parameter hit harus berupa bilangan bulat dalam rentang (0, 30]. Jika tidak, nilai default 30 akan digunakan dan sistem akan mengembalikan error. Misalnya, jika Anda mengatur parameter hit ke 0, -1, atau 31, sistem akan memproses nilainya sebagai 30 dan mengembalikan error.
Daftar hitam dapat berisi maksimal 500 kata kunci.
Daftar putih dapat berisi maksimal 500 kueri.
Jika terjadi konflik antara data daftar hitam dan daftar putih, daftar hitam memiliki prioritas lebih tinggi.
Perubahan pada daftar hitam dan daftar putih berlaku secara real time.
Setelah Anda membuat model saran drop-down, sistem secara default mengaktifkan pelatihan model terjadwal harian. Data saran drop-down diperbarui secara berkala setiap kali pelatihan terjadwal dijalankan.
Waktu pelatihan model saran drop-down bergantung pada volume data aplikasi dan beban sistem. Jika pelatihan memakan waktu lebih dari 30 menit, hubungi kami.
Fitur pelengkapan dan pengambilan homonim Tionghoa diaktifkan secara default. Anda dapat menambahkan parameter
re_search="disable"ke permintaan Anda untuk menonaktifkan fitur ini.Fitur dasar saran drop-down saat ini gratis. Oleh karena itu, sumber daya komputasi dan penyimpanan ditetapkan secara seragam oleh sistem. Setiap model saran drop-down dialokasikan sekitar 100 QPS sumber daya komputasi dan kapasitas penyimpanan untuk sekitar 2 juta kueri kandidat.
Atur parameter raw_query dalam permintaan pencarian. Hal ini membantu sistem pemrosesan data mengidentifikasi kueri pencarian asli yang dimasukkan oleh pengguna akhir. Untuk informasi selengkapnya, lihat Dokumentasi pemrosesan pencarian.
Jika Anda mengaktifkan fitur Kueri pencarian historis, Anda akan dikenai biaya pelatihan berdasarkan jam yang dapat ditagih yang dikonsumsi setiap sesi pelatihan. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Untuk informasi selengkapnya tentang parameter raw_query, user_id, dan from_request_id, klik di sini.
Fitur Kueri pencarian frekuensi tinggi diaktifkan secara default jika permintaan pencarian mencakup parameter raw_query atau klausa kueri berisi indeks default.
raw_query yang digunakan untuk pelatihan harus disertakan dalam permintaan pencarian. Nilai tersebut harus berupa kueri pencarian independen, tidak duplikat, dan menghasilkan hasil pengambilan.
Data pelatihan untuk model prompt diperbarui setiap hari (T+1). Data yang diunggah pada hari ini mulai berlaku setelah pelatihan pada hari berikutnya selesai.
Saran
Untuk lebih meningkatkan efektivitas saran drop-down—misalnya meningkatkan volume pencarian yang diarahkan oleh saran dan tingkat klik hasil pencarian—kami sangat menyarankan agar Anda mengaitkan permintaan saran drop-down dengan permintaan pencarian. Informasi tentang metode pengaitan tersedia di bagian "Mengaitkan permintaan saran drop-down dengan permintaan pencarian" di akhir topik ini.
Pilih bidang yang memiliki konten ringkas dan relevan dengan subjek dokumen.
Gunakan aturan Ekstraksi dan pembuatan serta Pertahankan nilai asli secara tepat.
Dalam hasil kueri, suggestions berisi hasil kueri saat ini, sedangkan errors menunjukkan apakah terjadi error. Bidang errors yang tidak kosong tidak berarti bahwa suggestions kosong. Oleh karena itu, saat mengurai hasil, periksa apakah suggestions kosong untuk menentukan apakah tidak ada data yang perlu ditampilkan.
Prosedur
1. Di Search Algorithm Center, buka Search Guidance > Drop-down Suggestions lalu klik Create:
2. Masukkan Model Name, pilih Training Fields dan metode ekstraksi, aktifkan Historical Search Queries (Opsional), masukkan Filter Conditions (Opsional), lalu klik Finish:
3. Pada halaman daftar saran drop-down, klik Train Model untuk melatih model yang telah dibuat:

4. Pelatihan model saran drop-down membutuhkan waktu sekitar 20 hingga 30 menit untuk selesai.
5. Setelah pelatihan model selesai, Anda dapat menguji efek saran drop-down. Gambar berikut menunjukkan hasil pengujian untuk metode ekstraksi Extract dan Retain original value:
Retain original value:
Extract:
6. Kueri kata kandidat secara online, seperti yang ditunjukkan pada demo berikut. Untuk instruksi API lengkap, lihat Panduan pengembangan saran drop-down.
Detail halaman saran drop-down
Halaman Daftar Saran Drop-down
Di konsol OpenSearch, buka Search Algorithm Center > Search Guidance > Drop-down Suggestions untuk membuka halaman daftar saran drop-down, seperti yang ditunjukkan pada gambar berikut:
Halaman daftar menampilkan informasi tentang model saran drop-down, seperti Model Name, Creation Time, Model Status, dan Last Training Status. Statusnya bisa berupa Pending Training, Training, Trained and Passed, atau Data Abnormal. Kolom Operations memungkinkan Anda melihat detail, melatih, dan menghapus model.
Halaman Detail Model Saran Drop-down
Informasi Dasar: Menampilkan waktu pembuatan model, status, waktu mulai pelatihan terakhir, dan status versi terbaru. Jika statusnya Data Abnormal, jendela pop-up "Abnormal Report" akan ditampilkan di bawah tabel.
Informasi Konfigurasi: Menampilkan bidang pelatihan, kondisi filter, daftar hitam/daftar putih, pelatihan terjadwal, dan kueri pencarian historis yang dikonfigurasi untuk model.
Validasi Data: Menampilkan integritas data dan tingkat integritas pelatihan model.
Riwayat Pelatihan: Menampilkan catatan pelatihan untuk model.
Data metrik inti
Anda dapat memilih rentang waktu berbeda untuk menampilkan data metrik inti model saran drop-down dalam bentuk tabel dan grafik garis.
Catatan: Untuk informasi tentang arti metrik tertentu, lihat Laporan saran drop-down.
Demo SDK untuk saran drop-down
API:
GET v3/openapi/suggestions/{suggestion_name}/actions/search?hit=10&query={your_query}&re_search=homonym&user_id=xxxDependensi Maven Java SDK:
<dependency>
<groupId>com.aliyun.opensearch</groupId>
<artifactId>aliyun-sdk-opensearch</artifactId>
<version>4.0.0</version>
</dependency>Tautan terkait: Panduan Versi
Demo kode:
package com.example.opensearch;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.SuggestionClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.nio.charset.Charset;
public class SuggestDemo {
static private final String accesskey = "Masukkan Informasi AccessKey Anda";
static private final String secret = "Masukkan informasi rahasia Anda";
static private final String host = "Masukkan host Wilayah tempat aplikasi yang terkait dengan saran drop-down berada";
OpenSearch openSearch;
OpenSearchClient openSearchClient;
static private final byte hits = 8; // Jumlah maksimum saran drop-down yang dikembalikan
static private final String suggestionName = "Masukkan nama saran drop-down"; // Masukkan nama saran drop-down
@Before
public void setUp() {
// Inisialisasi objek OpenSearch
openSearch = new OpenSearch(accesskey, secret, host);
openSearchClient = new OpenSearchClient(openSearch);
}
@Test
public void TestEnv() {
// Lihat file dan format encoding default
System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));
// Buat objek SuggestionClient
SuggestionClient suggestionClient = new SuggestionClient("app_name", suggestionName, openSearchClient);
String query = "Masukkan kueri pencarian";
try {
SuggestParams suggestParams = new SuggestParams();
suggestParams.setQuery(query); // Atur kueri pencarian
suggestParams.setHits(10); // Atur jumlah maksimum saran drop-down yang dikembalikan
suggestParams.setUserId("12345678"); // Atur user_id
// Fitur pelengkapan dan pengambilan homonim Tionghoa diaktifkan secara default. Anda dapat menambahkan parameter re_search ke permintaan untuk menyesuaikan pengaturan ini.
// ReSearch.findByValue(1) menonaktifkan fitur. ReSearch.findByValue(0) atau mengabaikan parameter mengaktifkan fitur.
suggestParams.setReSearch(ReSearch.findByValue(1));
SearchResult result = suggestionClient.execute(suggestParams);
System.out.println(result); // Cetak hasil pengambilan
} catch (OpenSearchException e) {
e.printStackTrace();
} catch (OpenSearchClientException e) {
e.printStackTrace();
}
}
@After
public void clean() {
openSearch.clear();
}
}Untuk informasi selengkapnya tentang Java SDK untuk saran drop-down, lihat Demo saran drop-down.
Tampilan Hasil Pengambilan:
{
"request_id": "159851481919726888064081",
"searchtime": 0.006246,
"suggestions": [
{
"suggestion": "skirt fashion"
},
{
"suggestion": "skirt for petite dress"
},
{
"suggestion": "skirt polka dot dress"
},
{
"suggestion": "skirt youthful"
},
{
"suggestion": "skirt polka dot"
},
{
"suggestion": "skirt for petite"
},
{
"suggestion": "skirt for petite polka dot"
}
]
}Catatan: requestID yang dikembalikan dalam hasil pengambilan dapat digunakan untuk mengaitkan permintaan pencarian.
Mengaitkan permintaan saran drop-down dengan permintaan pencarian
Mengaitkan permintaan saran drop-down dengan permintaan pencarian membantu bisnis Anda dalam hal berikut:
Anda dapat mengumpulkan metrik untuk mengukur efek saran drop-down terhadap pencarian. Metrik tersebut meliputi jumlah tampilan halaman (PV) pencarian yang diarahkan oleh saran, tingkat klik pencarian terarah, serta laju pencarian terarah yang menghasilkan sedikit atau tidak ada hasil. Untuk informasi selengkapnya tentang metrik ini, lihat Laporan saran drop-down.
Berdasarkan data permintaan yang dikaitkan, Anda dapat memperoleh data seperti klik saran drop-down. Hal ini memungkinkan Anda mengoptimalkan model pengurutan saran drop-down dan meningkatkan efektivitas pencarian terarah.
Metode pengaitan:
Dalam permintaan pencarian aplikasi OpenSearch, jika permintaan tersebut diarahkan oleh saran drop-down, sertakan parameter
from_request_id={from_request_id}. from_request_id menunjukkan sumber permintaan pencarian. Jika kueri saat ini berasal dari daftar rekomendasi fitur seperti saran drop-down, pencarian teratas, atau petunjuk, Anda dapat menetapkan request_id dari daftar rekomendasi tersebut ke parameter ini. Dengan mengaitkan event panduan ini, Anda dapat menghitung berbagai metrik untuk fitur hulu, mengukur efektivitasnya, serta memperoleh data untuk membantu optimasi. Parameter ini juga dijelaskan dalam Dokumentasi pemrosesan pencarian.
Contoh:
requestID dari hasil kueri API saran drop-down adalah 159851481919726888064081. Untuk mengaitkan ID ini dengan permintaan pencarian, lihat contoh berikut:
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("title:'skirt for petite'"); // Diarahkan oleh saran drop-down
/// Tambahkan parameter from_request_id
Map<String, String> customParam =new HashMap<>();
customParam.put("from_request_id","159851481919726888064081");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan objek data
SearchResult execute = searcherClient.execute(searchParams);
// Kembalikan data kueri sebagai string
String result = execute.getResult();
System.out.println(result);