All Products
Search
Document Center

OpenSearch:Saran drop-down

Last Updated:Jul 01, 2026

Saran drop-down adalah fitur dasar OpenSearch yang merekomendasikan kueri kandidat saat pengguna mengetik, guna meningkatkan efisiensi pengetikan dan membantu pengguna menemukan konten relevan lebih cepat.

Ikhtisar

Fitur saran drop-down mengekstraksi kueri dari konten dokumen Anda dan dapat menghasilkan kueri kandidat berdasarkan berbagai metode pencocokan untuk bahasa Tionghoa, termasuk pencocokan awalan, ejaan Pinyin lengkap, akronim huruf awal Pinyin, kombinasi karakter Tionghoa dan Pinyin, awalan setelah tokenisasi, serta homofon.

Sebagai contoh, Anda dapat mencari long dress sebagai berikut:

  • Awalan Tionghoa: 连, 连衣, …

  • Awalan Pinyin (ejaan lengkap): l, li, lian, lianyi, lianyiqun, …

  • Awalan Pinyin (huruf awal): l, ly, lyq, …

  • Karakter Tionghoa ditambah Pinyin: 连yi, 连衣qun, …

  • Awalan setelah tokenisasi: long style, long style dress, dress long, …

  • Homofon Tionghoa dan karakter salah yang terdengar mirip: 连衣群, 联谊群, …

Anda juga dapat menggunakan intervensi manual untuk memengaruhi hasil saran. Untuk melihat metrik kinerja utama saran drop-down Anda, lihat Laporan saran drop-down.

Sumber data

Saran drop-down menggunakan data dari dokumen aplikasi dan kueri pengguna akhir Anda. Anda dapat menerapkan filter pada dokumen maupun kueri tersebut.

Kueri kandidat dari dokumen

Anda dapat memilih hingga tiga bidang dari suatu aplikasi sebagai sumber data untuk setiap model saran drop-down. Selama pemrosesan, sistem memilih sampel dokumen (maksimal satu juta) dan memproses bidang yang dipilih sesuai aturan tertentu untuk menghasilkan kueri kandidat. Sistem kemudian menyimpan sebagian kecil di antaranya sebagai saran akhir. Dua aturan pembuatan didukung: extract from original value dan retain original value.

  • extract from original value: Metode ini menggunakan alat analisis NLP Alibaba eksklusif yang dilatih dengan data bahasa alami dalam jumlah besar. Alat ini menerapkan tokenisasi pada konten bidang, mengekstraksi istilah bermakna, lalu menggabungkannya menjadi kueri kandidat. Pendekatan ini memastikan bahwa saran yang dihasilkan dapat mengambil dokumen yang sesuai.

  • retain original value: Metode ini menggunakan konten mentah suatu bidang sebagai kueri kandidat tanpa tokenisasi. Jika panjang konten melebihi 30 karakter, konten tersebut dipotong menjadi 30 karakter pertama. Metode ini cocok untuk bidang yang tidak memerlukan tokenisasi, seperti nama toko, username, atau judul lagu, atau ketika Anda menyediakan sendiri kueri kandidat yang telah dihasilkan sebelumnya. Kami menyarankan menggunakan bidang dengan konten pendek dan jelas untuk metode ini.

Kueri kandidat dari kueri pengguna

Sistem menganalisis riwayat pencarian pengguna selama N hari terakhir (default 7 hari) dan mempertimbangkan metrik seperti frekuensi pencarian, rata-rata jumlah hasil, bobot historis istilah, serta tingkat keberhasilan kueri terbaru. Berdasarkan analisis tersebut, sistem memilih kueri representatif sebagai saran kandidat.

Fitur kueri pencarian historis: Anda juga dapat mengaktifkan opsi kueri pencarian historis untuk memprioritaskan saran berdasarkan kueri masa lalu pengguna saat ini. Hal ini mengharuskan Anda mengirimkan parameter raw_query dan user_id dalam permintaan Anda. Fitur kueri pencarian historis merupakan ekstensi yang dikenai biaya pelatihan berdasarkan jam komputasi yang dikonsumsi oleh setiap pekerjaan pelatihan.

Catatan

Untuk menonaktifkan sumber data kueri pengguna akhir, Anda dapat menetapkan kondisi filter kueri yang tidak akan pernah terpenuhi, misalnya biz_type=not_exist.

Setelah mengaktifkan fitur kueri pencarian historis, Anda harus menyertakan parameter user_id dalam permintaan saran drop-down Anda agar dapat mengirimkan hasil yang dipersonalisasi.

Kueri pencarian historis bersifat unik untuk setiap pengguna. Sistem menggunakan parameter user_id untuk membedakan pengguna. Misalnya, jika Pengguna A baru-baru ini mencari dishwasher, mereka mungkin melihat dishwasher sebagai saran lagi. Namun, Pengguna B yang belum pernah mencarinya tidak akan melihat istilah tersebut dalam sarannya.

Intervensi manual

Anda dapat memengaruhi saran drop-down secara manual dengan cara berikut:

  • Mengelola kueri kandidat menggunakan daftar hitam dan daftar putih.

  • Menetapkan kondisi filter pada dokumen aplikasi sumber. Saat Anda menerapkan filter, sistem hanya menggunakan dokumen yang memenuhi kondisi tersebut untuk menghasilkan saran kandidat.

Parameter

Deskripsi

Filter condition

Tentukan kondisi filter berdasarkan bidang dalam skema aplikasi OpenSearch Anda. Filter ini berlaku untuk semua dokumen dalam aplikasi. Catatan:

  • Operator yang didukung: <, >, <=, >=, =, !=

  • Jenis bidang yang didukung: Numerik dan string. Jenis array tidak didukung.

  • Penghubung: Pisahkan kondisi dengan koma (,), yang berfungsi sebagai operator AND. Operator OR tidak didukung.

Contoh: Jika Anda menetapkan kondisi filter menjadi status=1,level=1, hanya dokumen yang memenuhi kedua kondisi tersebut yang digunakan.

Pada halaman Create Drop-down Suggestion Model di Konsol, Anda dapat mengonfigurasi pengaturan berikut:

  • Target Application: Pilih aplikasi yang berisi data sumber untuk saran kandidat.

  • Model Name: Masukkan nama sepanjang 1 hingga 30 karakter. Nama harus dimulai dengan huruf dan dapat berisi huruf besar, huruf kecil, angka, serta garis bawah (_). Nama harus unik di antara semua model Anda.

  • Training Fields: Pilih bidang sumber dari aplikasi target dan tentukan metode pemrosesan untuk setiap bidang: extract from original value atau retain original value.

  • Historical Search Queries: Gunakan toggle untuk mengaktifkan atau menonaktifkan fitur kueri pencarian historis.

  • Doc Filter Condition dan Query Filter Condition: Ini adalah kondisi filter yang berlaku masing-masing untuk sumber data dokumen aplikasi dan sumber data kueri pengguna akhir (misalnya, status=1 atau biz_type=phone). Untuk aturan sintaksis, lihat deskripsi kondisi filter di atas.

Mengontrol hasil saran

daftar hitam: Daftar hitam mendukung pencocokan berbasis contains. Setiap kueri yang mengandung kata kunci dalam daftar hitam akan dikecualikan dari hasil saran drop-down. Jika Anda melihat saran yang tidak diinginkan, tambahkan kata kunci terkait ke daftar hitam untuk memblokirnya.

daftar putih: Jika suatu kueri dalam daftar putih memenuhi kriteria rekomendasi, kueri tersebut akan diprioritaskan dalam hasil saran drop-down. Jika kueri berkualitas tinggi tidak muncul atau peringkatnya terlalu rendah, tambahkan ke daftar putih untuk meningkatkan visibilitasnya. **Untuk detail cara mengonfigurasi daftar hitam dan daftar putih, klik di sini.

Penting
  • Aplikasi Standard tidak mendukung saran drop-down. Fitur ini hanya tersedia untuk aplikasi Advanced.

  • Anda dapat membuat maksimal 10 model saran drop-down per aplikasi.

  • Nama model harus unik dalam akun Anda. Hal ini mencakup model saran drop-down, model popularitas, model prediksi kategori, model pencarian teratas, dan model petunjuk.

  • Hanya bidang indeks bertipe TEXT, SHORT_TEXT, LITERAL, atau INT yang dapat digunakan sebagai sumber data untuk saran drop-down.

  • Anda dapat memilih maksimal tiga bidang pelatihan untuk satu model.

  • Saat memodifikasi skema aplikasi, Anda tidak dapat mengubah bidang yang digunakan oleh model saran drop-down.

  • Untuk melatih model saran drop-down, tabel aplikasi (termasuk raw_query dan data tersimpan) harus berisi lebih dari 1.000 entri. Jika tidak, pelatihan model mungkin gagal karena data tidak mencukupi.

  • Menghapus aplikasi juga akan menghapus model saran drop-down yang terkait dengannya.

  • Untuk pencarian saran drop-down, parameter query mendukung panjang maksimum 30 byte dalam encoding UTF-8 (maksimal 10 karakter Tionghoa). Jika batas ini dilampaui, sistem akan melaporkan error dan tidak mengembalikan hasil.

  • Dalam pencarian saran drop-down, parameter hit harus berupa bilangan bulat antara 1 hingga 30, inklusif. Jika Anda memberikan nilai di luar rentang ini (seperti 0, -1, atau 31), sistem akan menggunakan nilai default 30 dan mengembalikan pesan error.

  • Daftar hitam dapat berisi maksimal 500 kata kunci.

  • Daftar putih dapat berisi maksimal 500 kueri.

  • Jika terjadi konflik antara daftar hitam dan daftar putih, daftar hitam memiliki prioritas lebih tinggi.

  • Perubahan pada daftar hitam dan daftar putih berlaku secara real time.

  • Setelah model saran drop-down dibuat, pelatihan harian terjadwal diaktifkan secara default. Data saran diperbarui secara berkala pada setiap siklus pelatihan.

  • Waktu pelatihan model saran drop-down bergantung pada volume data dan beban sistem. Jika pelatihan memakan waktu lebih dari 30 menit, silakan hubungi kami.

  • Fitur pencocokan homofon Tionghoa diaktifkan secara default. Anda dapat menonaktifkannya dengan menambahkan parameter re_search="disable" ke permintaan Anda.

  • Fitur saran drop-down dasar saat ini gratis. Sumber daya komputasi dan penyimpanan dialokasikan oleh sistem. Setiap model dialokasikan sekitar 100 QPS sumber daya komputasi dan penyimpanan untuk sekitar 2 juta kueri kandidat.

  • Tetapkan parameter raw_query dalam permintaan pencarian Anda untuk membantu sistem mengidentifikasi kueri asli yang dimasukkan pengguna. Untuk informasi lebih lanjut, lihat dokumentasi pemrosesan pencarian.

  • Jika Anda mengaktifkan fitur historical search query, Anda akan dikenai biaya untuk setiap pekerjaan pelatihan berdasarkan jam komputasi yang dikonsumsi. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

  • Untuk informasi lebih lanjut tentang parameter raw_query, user_id, dan from_request_id, klik di sini.

  • Untuk mengaktifkan fitur high-frequency search query secara default, permintaan pencarian harus menyertakan parameter raw_query atau berisi indeks default dalam klausa kueri.

  • Independent raw_query: Parameter raw_query yang diperlukan untuk promosi pelatihan harus berupa kueri unik yang mengembalikan hasil.

  • Data pelatihan model saran diperbarui setiap hari (T+1). Data yang diunggah pada hari tertentu akan berlaku setelah pelatihan hari berikutnya selesai.

Praktik terbaik

  • Untuk meningkatkan efektivitas saran drop-down (misalnya, meningkatkan pencarian berbasis saran dan tingkat klik), kaitkan permintaan saran dengan permintaan pencarian. Untuk instruksi, lihat bagian "Mengaitkan permintaan saran drop-down dengan permintaan pencarian" di akhir topik ini.

  • Pilih bidang dengan konten ringkas yang relevan dengan topik utama dokumen.

  • Gunakan aturan "extract from original value" dan "retain original value" secara tepat sesuai kebutuhan Anda.

  • Dalam respons, suggestions berisi hasil pencarian, sedangkan errors menunjukkan apakah terjadi error. Bidang errors yang tidak kosong tidak berarti bidang suggestions pasti kosong. Oleh karena itu, saat menguraikan respons, periksa apakah suggestions kosong untuk menentukan apakah akan menampilkan data.

Prosedur

1. Di Konsol, buka Search Algorithm Center > Search Guidance > Drop-down Suggestions, lalu klik Create.image

2. Masukkan Model Name, pilih Training Fields dan metode ekstraksi, aktifkan Historical Search Queries (opsional), masukkan Filter Condition (opsional), lalu klik Submit.

3. Pada halaman daftar Drop-down Suggestion, temukan model yang telah Anda buat dan klik Train untuk memulai pelatihan.

image

4. Setelah Anda memulai pelatihan, proses ini biasanya memerlukan waktu 20 hingga 30 menit untuk selesai.

5. Setelah model dilatih, Anda dapat menguji saran tersebut. Gambar berikut menunjukkan hasil untuk metode "extract from original value" dan "retain original value".

Retain original value: 6

Extract from original value: 7

6. Untuk mengkueri kueri kandidat secara online, lihat demo di bawah. Untuk informasi API lengkap, lihat panduan pengembangan saran drop-down.

Referensi UI

Halaman daftar Saran Drop-down

Di Konsol OpenSearch, buka Search Algorithm Center > Search Guidance > Drop-down Suggestions untuk mengakses halaman daftar (seperti yang ditunjukkan pada gambar di bawah).image

Halaman daftar menampilkan informasi untuk setiap model saran drop-down, termasuk Model Name, Creation Time, Status, dan Latest Version Status (yang dapat berupa Pending Training, Training, Trained and Passed, atau Abnormal Data). Kolom Actions memungkinkan Anda melihat detail, melatih, atau menghapus model.

Halaman detail model saran drop-down

imageBagian Basic Information menampilkan waktu pembuatan model, status, waktu mulai pelatihan terakhir, dan status versi terbaru. Jika statusnya Abnormal Data, tautan ke laporan pengecualian akan ditampilkan.

Bagian Configuration Information menampilkan bidang pelatihan yang dikonfigurasi, kondisi filter, daftar hitam/daftar putih, serta status pelatihan terjadwal dan kueri pencarian historis.

Bagian Data Verification menampilkan tingkat kelengkapan dan integritas data untuk pelatihan model.

Bagian Training History menampilkan catatan pelatihan untuk model tersebut.

Data metrik inti

Anda dapat memilih rentang waktu berbeda untuk melihat metrik inti model saran drop-down, yang ditampilkan dalam bentuk tabel dan grafik garis.

Catatan: Untuk definisi metrik tertentu, lihat Laporan saran drop-down.

Demo SDK

API:

GET v3/openapi/suggestions/{suggestion_name}/actions/search?hit=10&query={your_query}&re_search=homonym&user_id=xxx

Java SDK dependensi Maven:

<dependency>
    <groupId>com.aliyun.opensearch</groupId>
    <artifactId>aliyun-sdk-opensearch</artifactId>
    <version>4.0.0</version>
</dependency>

Tautan terkait: Catatan Rilis

Contoh 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 = "YOUR_ACCESSKEY_ID";
    static private final String secret = "YOUR_ACCESSKEY_SECRET";
    static private final String host = "THE_ENDPOINT_OF_THE_REGION_WHERE_YOUR_APP_IS_LOCATED";
    OpenSearch openSearch;
    OpenSearchClient openSearchClient;
    static private final byte hits = 8; // Jumlah maksimum saran yang akan dikembalikan.
    static private final String suggestionName = "YOUR_SUGGESTION_MODEL_NAME"; // Nama model saran drop-down Anda.

    @Before
    public void setUp() {
        // Inisialisasi objek OpenSearch.
        openSearch = new OpenSearch(accesskey, secret, host);
        openSearchClient = new OpenSearchClient(openSearch);
    }

    @Test
    public void TestEnv() {
        // Tampilkan 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("YOUR_APP_NAME", suggestionName, openSearchClient);
        String query = "YOUR_SEARCH_QUERY";
try {
            SuggestParams suggestParams = new SuggestParams();
            suggestParams.setQuery(query); // Tetapkan kueri.
            suggestParams.setHits(10); // Tetapkan jumlah maksimum saran yang akan dikembalikan.
            suggestParams.setUserId("12345678"); // Tetapkan ID pengguna.
            // Fitur pencocokan homofon Tionghoa diaktifkan secara default. Anda dapat menyesuaikannya menggunakan parameter re_search.
            // Untuk menonaktifkan fitur ini, gunakan ReSearch.findByValue(1). Fitur ini diaktifkan secara default (setara dengan ReSearch.findByValue(0) atau menghilangkan parameter).
            suggestParams.setReSearch(ReSearch.findByValue(1));
            SearchResult result = suggestionClient.execute(suggestParams); 
            System.out.println(result); // Cetak hasilnya.
        } catch (OpenSearchException e) {
            e.printStackTrace();
        } catch (OpenSearchClientException e) {
            e.printStackTrace();
        }
    }

    @After
    public void clean() {
        openSearch.clear();
    }
}

Untuk detail lebih lanjut tentang Java SDK saran drop-down, lihat demo saran drop-down.

Contoh respons:

{
  "request_id": "159851481919726888064081",
  "searchtime": 0.006246,
  "suggestions": [
    {
      "suggestion": "trendy skirts"
    },
    {
      "suggestion": "dresses for petite women"
    },
    {
      "suggestion": "polka dot dresses"
    },
    {
      "suggestion": "youthful skirts"
    },
    {
      "suggestion": "polka dot skirt"
    },
    {
      "suggestion": "skirts for petite women"
    },
    {
      "suggestion": "polka dot skirts for petite women"
    }
  ]
}

Catatan: request_id yang dikembalikan dalam respons dapat digunakan untuk mengaitkan saran tersebut dengan permintaan pencarian berikutnya.

Mengaitkan permintaan saran dan pencarian

Mengaitkan permintaan saran dengan permintaan pencarian memberikan manfaat berikut:

  1. Memungkinkan Anda mengumpulkan metrik untuk mengukur dampak saran drop-down terhadap kinerja pencarian. Metrik tersebut mencakup PV pencarian berbasis saran, tingkat klik, serta tingkat hasil nol/rendah. Untuk detail lebih lanjut, lihat Laporan saran drop-down.

  2. Data permintaan yang dikaitkan memberikan wawasan, seperti data klik saran, yang dapat digunakan untuk mengoptimalkan model peringkat saran dan meningkatkan efektivitas pencarian berbasis saran.

    Metode pengaitan:

    Jika pengguna memulai pencarian dengan memilih saran drop-down, sertakan parameter from_request_id={from_request_id} dalam permintaan pencarian. Parameter from_request_id menunjukkan sumber pencarian. Jika kueri saat ini berasal dari daftar rekomendasi, seperti saran drop-down, model pencarian teratas, atau model petunjuk, Anda dapat menetapkan request_id dari permintaan rekomendasi tersebut ke parameter ini. Dengan mengaitkan peristiwa-peristiwa ini, Anda dapat menghitung metrik utama untuk fitur hulu, mengukur efektivitasnya, serta mengumpulkan data untuk optimasi. Parameter ini juga dijelaskan dalam dokumentasi pemrosesan pencarian.

Contoh:

Asumsikan panggilan API saran drop-down mengembalikan request_id sebesar 159851481919726888064081. Anda dapat mengaitkannya dengan permintaan pencarian seperti yang ditunjukkan di bawah ini:

SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("title:'skirts for petite women'"); // Kueri yang dipandu 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 SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
// Kembalikan data kueri sebagai string.
String result = execute.getResult();
System.out.println(result);