All Products
Search
Document Center

OpenSearch:Pencarian Teratas dan Petunjuk Pencarian

Last Updated:Apr 01, 2026

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:

  1. Kumpulkan — Sistem menarik kueri pencarian dari log pencarian historis. Hanya kueri yang diajukan dengan parameter raw_query yang dihitung. Nilai raw_query harus berupa kueri mandiri, tidak diulang, dan mengembalikan hasil.

  2. 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.

  3. 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_query dengan kueri pengguna nyata

  • Terdapat beberapa permintaan pencarian historis dengan nilai raw_query di dalam sistem

Penting

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

  1. Masuk ke konsol OpenSearch. Di panel navigasi sebelah kiri, pilih Search Algorithm Center > Search Guidance, lalu klik Top Searches and Hints.

  2. Klik Create.

    image

  3. Konfigurasikan parameter berikut:

    ParameterDeskripsi
    Model nameNama yang terdiri dari huruf, angka, dan garis bawah (_). Nama tidak boleh hanya terdiri dari angka dan panjangnya maksimal 30 karakter.
    Model typePilih 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_type dan user_id. Operator yang didukung: <, >, <=, >=, =, !=. Pisahkan beberapa kondisi dengan koma — semua kondisi diterapkan dengan logika AND. Contoh: user_id=1,biz_type=1.

    image

  4. Temukan model dengan status Pending Training dan klik Train di kolom Actions.

    image

  5. Setelah pelatihan selesai, pratinjau hasilnya:

    • Pratinjau pencarian teratas: Klik Preview Effects untuk melihat hingga 10 rekomendasi pencarian teratas per halaman, hingga maksimal 20 halaman. image

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

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 modelHasil defaultMaksimum (parameter hit)
Pencarian teratas1030
Petunjuk310

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.

image

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.

image

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.

image

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 ke request_id yang 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:

  1. Pengguna melihat daftar pencarian teratas yang dikembalikan oleh API. Respons mencakup request_id.

  2. Pengguna mengklik pencarian teratas, memicu permintaan pencarian baru.

  3. Atur from_request_id dalam permintaan pencarian tersebut ke request_id dari langkah 1.

  4. Jika pengguna menelusuri halaman hasil, atur juga from_request_id dalam 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.

    image

  • Hint report: Pilih Report Statistics > Hint Report.

    image

Untuk deskripsi lengkap metrik laporan, lihat Top search report dan Hint report.

Batasan

BatasNilai
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 pelatihan14 hari terakhir (default); hingga 6 bulan
Jadwal pelatihanHarian (otomatis)
Kueri yang memenuhi syarat untuk pelatihanraw_query; harus mengembalikan hasil; tidak boleh diulang

Langkah berikutnya