Pencarian teratas dan petunjuk muncul di dekat kotak pencarian serta membimbing pengguna menuju kueri yang relevan sebelum mereka selesai mengetik. Bagi operator, fitur ini memperlihatkan tren minat dan menciptakan peluang untuk membentuk perilaku pencarian melalui strategi operasional.
Cara kerja
OpenSearch menghasilkan rekomendasi pencarian teratas dan petunjuk melalui pipeline tiga tahap:
Kumpulkan — Sistem menarik kueri pencarian dari log pencarian historis. Hanya kueri yang diajukan dengan parameter
raw_queryyang dihitung. Nilairaw_queryharus berupa kueri mandiri, tidak diulang, dan mengembalikan hasil.Peringkat — Kueri diberi peringkat berdasarkan frekuensi. Antarmuka rekomendasi menggunakan data dari 14 hari terakhir secara default. Setelah model dibuat, sistem melatih ulang model tersebut secara otomatis setiap hari.
Sajikan — Panggil API atau SDK untuk mengambil rekomendasi yang telah diberi peringkat. Secara default, 10 pencarian teratas dan 3 petunjuk dikembalikan per permintaan.
Antarmuka rekomendasi pencarian teratas dan daftar pencarian teratas di konsol menggunakan cakupan data yang berbeda. Antarmuka rekomendasi hanya mencakup 14 hari terakhir dan hanya kueri raw_query; daftar di konsol mencakup kueri dari indeks default dan tidak menyaring kueri tanpa hasil.Konsep utama
Model pencarian teratas — Memberi peringkat kueri berdasarkan popularitas dan mengembalikannya sebagai daftar. Gunakan ini untuk menampilkan pencarian populer di dekat kotak pencarian.
Model petunjuk — Mengembalikan pelengkapan kueri saat pengguna mengetik. Gunakan ini untuk mengaktifkan saran drop-down di kotak pencarian.
Kedua jenis model dilatih dari data raw_query yang sama. Anda dapat membuat hingga tiga model pencarian teratas atau model petunjuk per aplikasi.
Prasyarat
Sebelum memulai, pastikan bahwa:
Permintaan pencarian di aplikasi Anda menyertakan parameter
raw_querydengan kueri pengguna nyataTerdapat beberapa permintaan pencarian historis dengan nilai
raw_querydi dalam sistem
Jika tidak ada permintaan pencarian historis yang berisi parameter raw_query, pelatihan model akan gagal.
Buat model pencarian teratas atau petunjuk
Buat model di konsol
Masuk ke konsol OpenSearch. Di panel navigasi sebelah kiri, pilih Search Algorithm Center > Search Guidance, lalu klik Top Searches and Hints.
Klik Create.

Konfigurasikan parameter berikut:
Parameter Deskripsi Model name Nama yang terdiri dari huruf, angka, dan garis bawah ( _). Nama tidak boleh hanya terdiri dari angka dan panjangnya maksimal 30 karakter.Model type Pilih Top Search Model atau Hint Model. Filter condition (Opsional) Batasi kueri pencarian historis mana yang digunakan untuk pelatihan. Format: [parameter][operator][value]. Parameter yang didukung:biz_typedanuser_id. Operator yang didukung:<,>,<=,>=,=,!=. Pisahkan beberapa kondisi dengan koma — semua kondisi diterapkan dengan logika AND. Contoh:user_id=1,biz_type=1.
Temukan model dengan status Pending Training dan klik Train di kolom Actions.

Setelah pelatihan selesai, pratinjau hasilnya:
Pratinjau pencarian teratas: Klik Preview Effects untuk melihat hingga 10 rekomendasi pencarian teratas per halaman, hingga maksimal 20 halaman.

Pratinjau petunjuk: Klik Preview Effects untuk melihat hingga 30 rekomendasi petunjuk, satu per halaman.

Buat model menggunakan API atau SDK
Saat Anda membuat model menggunakan API, sistem segera memulai pelatihan model setelah menerima permintaan pembuatan.
Tambahkan Management and Control SDK ke proyek Anda:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-opensearch</artifactId>
<version>0.7.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>Contoh berikut membuat model pencarian teratas. Atur type ke "hot" untuk model pencarian teratas atau "hint" untuk model petunjuk.
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.opensearch.model.v20171225.*;
import com.aliyuncs.profile.DefaultProfile;
public class CreateModel {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile(
"cn-beijing",
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
);
IAcsClient client = new DefaultAcsClient(profile);
CreateModelRequest request = new CreateModelRequest();
request.setAppGroupIdentity("app_name"); // Ganti dengan nama aplikasi Anda
// type: "hot" = model pencarian teratas, "hint" = model petunjuk
// name: hanya huruf, angka, dan garis bawah; maksimal 30 karakter
String content = "{\"type\": \"hot\", \"name\": \"model_name\"}";
request.setHttpContent(content.getBytes(), "UTF-8", FormatType.JSON);
try {
HttpResponse response = client.doAction(request);
System.out.println(response.getHttpContentString());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}Ambil pencarian teratas dan petunjuk
Setelah pelatihan selesai, panggil API atau SDK untuk mendapatkan rekomendasi. Tidak ada operasi API untuk memeriksa status pelatihan — polling titik akhir hasil untuk mengetahui kapan rekomendasi tersedia.
Tambahkan Traffic SDK ke proyek Anda:
<dependency>
<groupId>com.aliyun.opensearch</groupId>
<artifactId>aliyun-sdk-opensearch</artifactId>
<version>3.5.0</version>
</dependency>Contoh berikut mengambil pencarian teratas. Gunakan path API yang sama untuk petunjuk dengan mengatur model_name yang sesuai.
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;
public class Hot {
private static final String accesskey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
private static final String secret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
private static final String host = "<endpoint>"; // contoh: http://opensearch-cn-hangzhou.aliyuncs.com
private static final String appName = "<your-app-name>";
// Path API untuk pencarian teratas
private static final String HOT_API_PATH = "/apps/{app_name}/actions/hot";
public static void main(String[] args) {
OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
OpenSearchClient client = new OpenSearchClient(openSearch);
String requestPath = HOT_API_PATH.replace("{app_name}", appName);
Map<String, String> params = new HashMap<>();
params.put("model_name", "<your-model-name>"); // Nama model yang Anda buat
params.put("hit", "20"); // Jumlah hasil yang dikembalikan (maksimal 30 untuk pencarian teratas, 10 untuk petunjuk)
try {
String response = client.call(requestPath, params, OpenSearchClient.METHOD_GET);
System.out.println(JSON.toJSONString(response));
} catch (OpenSearchClientException e) {
e.printStackTrace();
}
}
}Batas nilai kembalian:
| Jenis model | Hasil default | Maksimum (parameter hit) |
|---|---|---|
| Pencarian teratas | 10 | 30 |
| Petunjuk | 3 | 10 |
Untuk mendapatkan peringkat kata kunci populer, panggil operasi ListStatisticLogs.
Kelola model
Daftar model
Halaman Top Searches and Hints mencantumkan semua model beserta nama, jenis, waktu pembuatan, status, waktu mulai pelatihan terakhir, dan status versi terbaru. Tetapkan satu model sebagai default — ketika tidak ada model_name yang ditentukan dalam permintaan, model default akan digunakan.

Detail model
Klik nama model untuk membuka halaman detailnya. Bagian Basic Information menampilkan status model saat ini dan cap waktu pelatihan. Bagian Training History mencantumkan setiap proses pelatihan beserta versi, status, waktu mulai, dan waktu selesai.
Atasi kegagalan pelatihan
Di halaman detail model, arahkan kursor ke Exception Report untuk melihat alasan kegagalan. Arahkan kursor ke View Conditions for Integrity Level Upgrade untuk melihat kriteria yang harus dipenuhi model agar mencapai tingkat integritas yang lebih tinggi.

Konfigurasi daftar hitam dan daftar putih
Di bagian Configuration Information, klik Configure untuk mengatur daftar hitam atau daftar putih untuk model tersebut. Untuk detail selengkapnya, lihat Blacklists and whitelists.

Atur ukuran daftar pencarian teratas
Secara default, daftar pencarian teratas menampilkan hingga 10.000 entri. Tetapkan batas khusus (minimum: 100) sesuai kebutuhan bisnis Anda.
Optimalkan kualitas model
Hubungkan data perilaku pengguna
Pencarian teratas dan petunjuk yang dihasilkan dari log pencarian mentah merupakan titik awal yang baik, tetapi menghubungkan data perilaku pengguna meningkatkan kualitas rekomendasi seiring waktu.
Sertakan parameter berikut dalam permintaan pencarian untuk mengaktifkan pelacakan perilaku:
from_request_id— Atur nilai ini kerequest_idyang dikembalikan saat pengguna mengklik pencarian teratas atau petunjuk. Ini menghubungkan pencarian berikutnya dengan rekomendasi yang memicunya.user_id— Memungkinkan metrik pengunjung unik (UV) dalam laporan operasi bisnis.
Cara kerja end-to-end:
Pengguna melihat daftar pencarian teratas yang dikembalikan oleh API. Respons mencakup
request_id.Pengguna mengklik pencarian teratas, memicu permintaan pencarian baru.
Atur
from_request_iddalam permintaan pencarian tersebut kerequest_iddari langkah 1.Jika pengguna menelusuri halaman hasil, atur juga
from_request_iddalam setiap permintaan pergantian halaman — setiap tampilan halaman dihitung sebagai tampilan halaman (PV) independen.
Dengan data ini terhubung, laporan operasi bisnis akan menampilkan:
Tampilan halaman (PV) dan pengunjung unik (UV) dari pencarian yang dipandu oleh pencarian teratas dan petunjuk
Laju hasil nol untuk pencarian terpandu
Laju klik pada rekomendasi
Tren minat pengguna untuk perencanaan operasional
Lihat laporan operasi bisnis
Di konsol OpenSearch, navigasi ke Report Statistics untuk melihat metrik kinerja.
Laporan pencarian teratas: Pilih Report Statistics > Top Search Report.

Hint report: Pilih Report Statistics > Hint Report.

Untuk deskripsi lengkap metrik laporan, lihat Top search report dan Hint report.
Batasan
| Batas | Nilai |
|---|---|
| Jumlah model pencarian teratas atau petunjuk per aplikasi (gabungan) | 3 |
| Ukuran daftar pencarian teratas (default) | 10.000 entri |
| Ukuran daftar pencarian teratas (minimum) | 100 entri |
| Jendela data pelatihan | 14 hari terakhir (default); hingga 6 bulan |
| Jadwal pelatihan | Harian (otomatis) |
| Kueri yang memenuhi syarat untuk pelatihan | raw_query; harus mengembalikan hasil; tidak boleh diulang |
Langkah berikutnya
Initiate search requests — Pelajari cara menyertakan
raw_query,from_request_id, danuser_iddalam permintaan pencarian.Query top searches and hints — Referensi API lengkap untuk titik akhir rekomendasi.
Blacklists and whitelists — Saring kueri tertentu agar masuk atau tidak masuk dalam rekomendasi.