Topik ini menjelaskan cara menggunakan kit pengembangan perangkat lunak (SDK) PHP untuk melakukan pencarian, disertai contoh penggunaannya.
Konfigurasikan variabel lingkungan
Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
Pasangan AccessKey dari 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 operasi dan pemeliharaan (O&M) rutin. Untuk informasi tentang cara menggunakan Pengguna RAM, lihat Buat Pengguna RAM.
Untuk informasi tentang cara membuat pasangan AccessKey, lihat Buat pasangan AccessKey.
Jika Anda menggunakan pasangan AccessKey dari Pengguna RAM, pastikan izin yang diperlukan telah diberikan ke peran AliyunServiceRoleForOpenSearch melalui Akun Alibaba Cloud Anda. Untuk informasi selengkapnya, lihat AliyunServiceRoleForOpenSearch dan Aturan otorisasi akses.
Kami menyarankan agar Anda tidak menyertakan pasangan AccessKey dalam materi yang mudah diakses orang lain, seperti kode proyek. Jika tidak, pasangan AccessKey Anda berisiko bocor dan sumber daya dalam 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
Buat file variabel lingkungan, tambahkan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET ke dalam file tersebut, lalu atur nilainya sesuai dengan ID AccessKey dan Rahasia AccessKey Anda.
Mulai ulang Windows agar pasangan AccessKey berlaku.
Buat file header Config
File Config berfungsi sebagai file header untuk kueri dokumen dan push, serta berisi parameter penting seperti AccessKey, host, nama aplikasi, dan opsi.
<?php
// Impor file header.
require_once("../OpenSearch/Autoloader/Autoloader.php");
use OpenSearch\Client\OpenSearchClient;
// Informasi identitas pengguna.
// Baca ID AccessKey dan Rahasia AccessKey dari variabel lingkungan.
// Sebelum menjalankan kode contoh, Anda harus mengonfigurasi variabel lingkungan terlebih dahulu. Untuk informasi selengkapnya, lihat bagian "Konfigurasikan variabel lingkungan" dalam topik ini.
// Ganti dengan ID AccessKey Anda.
$accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID');
// Ganti dengan Rahasia AccessKey Anda.
$secret = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// Ganti dengan titik akhir wilayah Anda. Anda dapat menemukan titik akhir tersebut di halaman Informasi Dasar aplikasi Anda di Konsol.
$endPoint = '<region endPoint>';
// Ganti dengan nama aplikasi Anda.
$appName = '<app name>';
// Aktifkan mode debug.
$options = array('debug' => true);
// Buat objek OpenSearchClient.
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);
Lakukan pencarian
Berikut ini adalah contoh fitur pencarian sederhana:
<?php
header("Content-Type:text/html;charset=utf-8");
// Referensikan file header.
require_once("Config.inc.php");
use OpenSearch\Client\SearchClient;
use OpenSearch\Util\SearchParamsBuilder;
// Instansiasi kelas pencarian.
$searchClient = new SearchClient($client);
// Instansiasi kelas parameter pencarian.
$params = new SearchParamsBuilder();
// Atur nilai awal klausa konfigurasi.
$params->setStart(0);
// Atur nilai hits klausa konfigurasi.
$params->setHits(20);
// Tentukan aplikasi untuk pencarian.
$params->setAppName('Ganti dengan nama aplikasi Anda');
// Tentukan kata kunci pencarian.
$params->setQuery("name:'search'");
// Tentukan format hasil pencarian sebagai JSON.
$params->setFormat("fulljson");
// Tambahkan bidang pengurutan.
$params->addSort('RANK', SearchParamsBuilder::SORT_DECREASE);
// Eksekusi pencarian dan ambil hasil pencarian.
$ret = $searchClient->execute($params->build());
// Dekode string JSON.
print_r(json_decode($ret->result,true));
// Cetak informasi debug.
echo $ret->traceInfo->tracer;