全部产品
Search
文档中心

OpenSearch:Demo saran drop-down

更新时间:Jul 25, 2025

Konfigurasikan variabel lingkungan

Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Penting
  • Pasangan Kunci Akses akun Alibaba Cloud dapat digunakan untuk mengakses semua Operasi API. Kami menyarankan Anda menggunakan Pengguna Resource Access Management (RAM) untuk memanggil Operasi API atau melakukan pemeliharaan rutin O&M. Untuk informasi tentang cara menggunakan Pengguna RAM, lihat Buat Pengguna RAM.

  • Untuk informasi tentang cara membuat Pasangan Kunci Akses, lihat Buat Pasangan Kunci Akses.

  • Jika Anda menggunakan Pasangan Kunci Akses Pengguna RAM, pastikan izin yang diperlukan diberikan kepada peran AliyunServiceRoleForOpenSearch menggunakan Akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat AliyunServiceRoleForOpenSearch dan Aturan Otorisasi Akses.

  • Kami menyarankan agar Anda tidak menyertakan Pasangan Kunci Akses Anda dalam materi yang mudah diakses oleh orang lain, seperti kode proyek. Jika tidak, Pasangan Kunci Akses Anda mungkin bocor dan sumber daya di akun Anda menjadi tidak aman.

  • Linux dan macOS

    Jalankan perintah berikut. Ganti <access_key_id> dan <access_key_secret> dengan ID AccessKey dan Rahasia AccessKey dari Pengguna RAM yang Anda gunakan.

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows

    1. Buat file variabel lingkungan, tambahkan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET ke file tersebut, lalu atur variabel lingkungan ke ID AccessKey dan Rahasia AccessKey Anda.

    2. Mulai ulang Windows agar Pasangan Kunci Akses berlaku.

Contoh pencarian daftar drop-down

Dalam contoh ini, ganti parameter berikut dengan milik Anda sendiri:

  • host: Ganti dengan Titik akhir API publik dari instans Anda. Pergi ke Daftar Instans > Klik Details dari instans > Endpoint > Public API Endpoint untuk mendapatkan.

  • suggestionName: Ganti dengan nama model drop-down Anda. Pergi ke Search Algorithm Center > Search Guidance > Drop-down Suggestions untuk mendapatkan.

  • appName: Ganti dengan nama instans. Pergi ke Daftar Instans untuk melihat.

  • query: Ganti dengan kata kunci pencarian.

Catatan
  • Saat menggunakan versi SDK 4.0.0 atau lebih tinggi, untuk melewati AppName saat membuat objek SuggestionClient.

  • Untuk detail tentang operasi API ini, lihat Saran Drop-down.

  • Untuk Java SDK, kunjungi Pusat Unduhan.

Versi SDK 4.0.0 dan di atasnya

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 host = "Masukkan host wilayah tempat aplikasi terkait saran drop-down berada";
    OpenSearch openSearch;
    OpenSearchClient openSearchClient;
    static private final byte hits = 8; //Jumlah maksimum saran drop-down yang akan dikembalikan
    static private final String suggestionName = "Masukkan nama model saran drop-down"; //Masukkan nama model saran drop-down
    static private final String appName = "Nama Instans";
    
    @Before
    public void setUp() {
      	// Pasangan Kunci Akses.
        // Dapatkan ID AccessKey dan Rahasia AccessKey dari variabel lingkungan. Anda harus mengonfigurasi variabel lingkungan sebelum menjalankan kode ini.
        String accesskey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String secret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // Inisialisasi objek openSearch
        openSearch = new OpenSearch(accesskey, secret, host);
        openSearchClient = new OpenSearchClient(openSearch);
    }

    @Test
    public void TestEnv() {
        // Dapatkan format encoding 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 saran drop-down
        SuggestionClient suggestionClient = new SuggestionClient(appName,suggestionName,openSearchClient);
        String query = "Masukkan kueri pencarian";
try {
            SuggestParams suggestParams = new SuggestParams();
            suggestParams.setQuery(query); // Setel kueri pencarian
            suggestParams.setHits(hits); // Setel jumlah maksimum saran drop-down yang akan dikembalikan
            suggestParams.setUserId("12345678"); // Setel user_id
            // Fitur pengambilan penyelesaian karakter homofon Cina diaktifkan secara default. Anda dapat menambahkan parameter re_search dalam permintaan untuk menyesuaikannya
            // ReSearch.findByValue(1) menunjukkan dinonaktifkan; ReSearch.findByValue(0) atau tidak melewati parameter ini menunjukkan diaktifkan
            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();
    }
}

Versi SDK di bawah 4.0.0

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 host = "Masukkan host wilayah tempat aplikasi terkait saran drop-down berada";
    OpenSearch openSearch;
    OpenSearchClient openSearchClient;
    static private final byte hits = 8; //Jumlah maksimum saran drop-down yang akan dikembalikan
    static private final String suggestionName = "Masukkan nama model saran drop-down"; //Masukkan nama model saran drop-down

    @Before
    public void setUp() {
      	// Pasangan Kunci Akses.
        // Dapatkan ID AccessKey dan Rahasia AccessKey dari variabel lingkungan. Anda harus mengonfigurasi variabel lingkungan sebelum menjalankan kode ini.
        String accesskey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String secret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // Inisialisasi objek openSearch
        openSearch = new OpenSearch(accesskey, secret, host);
        openSearchClient = new OpenSearchClient(openSearch);
    }

    @Test
    public void TestEnv() {
        // Lihat dokumen 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 saran drop-down
        SuggestionClient suggestionClient = new SuggestionClient(suggestionName, openSearchClient);
        String query = "Masukkan kueri pencarian";
try {
            SuggestParams suggestParams = new SuggestParams();
            suggestParams.setQuery(query); // Setel kueri pencarian
            suggestParams.setHits(hits); // Setel jumlah maksimum saran drop-down yang akan dikembalikan
            suggestParams.setUserId("12345678"); // Setel user_id
            // Fitur pengambilan penyelesaian karakter homofon Cina diaktifkan secara default. Anda dapat menambahkan parameter re_search dalam permintaan untuk menyesuaikannya
            // ReSearch.findByValue(1) menunjukkan dinonaktifkan; ReSearch.findByValue(0) atau tidak melewati parameter ini menunjukkan diaktifkan
            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();
    }
}