OpenSearch menyediakan tiga metode ingesti data: menggunakan API atau SDK untuk fleksibilitas maksimal, mengunggah batch data kecil di Konsol untuk pengujian sederhana, serta mengonfigurasi sinkronisasi otomatis dari sumber data cloud seperti RDS, MaxCompute, dan PolarDB melalui antarmuka visual.
Pemetaan tipe bidang
|
Tipe bidang OpenSearch |
Tipe bidang dorong API |
|
INT |
int atau long |
|
INT_ARRAY |
int[] atau long[] |
|
FLOAT |
float |
|
FLOAT_ARRAY |
float[] |
|
DOUBLE |
double |
|
DOUBLE_ARRAY |
double[] |
|
LITERAL |
string |
|
LITERAL_ARRAY |
string[] |
|
SHORT_TEXT |
string |
|
TEXT |
string |
|
TIMESTAMP |
long |
|
GEO_POINT |
Sebuah string dalam format |
Dorong data melalui API
-
Fitur unggah file di Konsol hanya ditujukan untuk pengujian dan tidak cocok untuk unggahan data skala besar karena tidak efisien serta dibatasi hingga 2 MB per file. Untuk informasi lebih lanjut mengenai batasan sistem saat mendorong data melalui API atau SDK, lihat Batasan sistem.
Di halaman manajemen instans, temukan instans target Anda. Pada kolom Actions, klik menu dropdown lalu pilih Upload File.
-
API dan SDK tidak mendukung plugin sumber data, sehingga Anda harus memproses dan menata data sebelum mendorongnya. Misalnya, saat mendorong data bertipe array melalui API, pastikan data tersebut dikirim sebagai array, bukan sebagai string. Kode berikut menunjukkan contohnya:
// Definisikan objek Map untuk menyimpan data dokumen yang akan diunggah. Ini adalah Dokumen 2. Map<String,Object> doc2 =Maps.newLinkedHashMap(); doc2.put("id",1); String[] literal_arr2 ={"Element 1","Element 2"}; doc2.put("literal_arr", literal_arr2); -
Untuk detail lebih lanjut tentang penggunaan API atau SDK, lihat sumber daya berikut:
Java SDK: Demo commit push dan Demo push
PHP SDK: Demo push dan Demo push dengan pencarian
Go SDK: Demo push data perilaku dan Demo push
TypeScript/Node.js SDK: Instal paket
@alicloud/opensearch-sdk.npm install @alicloud/opensearch-sdkGunakan antarmuka pushDocument untuk mendorong data:
import Client, { Config, Document, PushDocumentRequestModel } from '@alicloud/opensearch-sdk'; // Lakukan autentikasi dengan AccessKey. const config = new Config({ endpoint: 'opensearch-cn-beijing.aliyuncs.com', // Titik akhir API data. accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID, accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET, }); const client = new Client(config); // Susun dokumen yang akan didorong. const docs = [ new Document({ cmd: 'ADD', fields: { id: '1', title: 'Example document', body: 'Document content' }, }), ]; // Dorong data ke tabel tertentu pada aplikasi Anda. const request = new PushDocumentRequestModel({ body: docs }); const response = await client.pushDocument('your_app_name', 'your_table_name', request); console.log(response.body);Format titik akhir untuk wilayah berbeda adalah
opensearch-cn-{region}.aliyuncs.com. Sebagai contoh, titik akhir untuk wilayah China (Hangzhou) adalahopensearch-cn-hangzhou.aliyuncs.com. Autentikasi SDK menggunakan AccessKey Alibaba Cloud (AK/SK) yang diteruskan melalui objek Config, bukan Kunci API.OpenSearch menyediakan dua paket npm:
@alicloud/opensearch-sdkuntuk API data (pencarian, dorong data, dan saran kueri), serta@alicloud/opensearch20171225untuk API kontrol (manajemen aplikasi). Untuk skenario dorong data, gunakan@alicloud/opensearch-sdk.
Topik terkait
-
Untuk mengimpor data menggunakan API atau SDK, lihat Demo commit push.
-
Untuk mengunggah file dari Konsol (dibatasi hingga 2 MB per file), lihat Tutorial.
-
Untuk mengimpor data dari sumber data, lihat Konfigurasikan sumber data RDS.