Topik ini menjelaskan cara memilih Object Storage Service (OSS) + API sebagai sumber data saat membuat tabel.
Proses ini terdiri dari dua langkah berikut:
Aktifkan OSS
Tambahkan sumber data OSS + API
Langkah 1: Aktifkan OSS
1. Aktifkan layanan
Aktifkan OSS. Pastikan bahwa OSS dan layanan OpenSearch Anda berada di wilayah yang sama.
2. Buat bucket
Sebelum mengunggah file ke OSS, buatlah bucket untuk menyimpan file tersebut. Untuk informasi lebih lanjut, lihat Membuat bucket.
Pergi ke Konsol Manajemen OSS > Bucket > Buat Bucket.
Setelah membuat bucket, tambahkan tag OpenSearch ke bucket tersebut.
Pergi ke Pengaturan Bucket > Penandaan Bucket > Buat Tag.

3. Konfigurasi format OSS
A. Format file OSS
Untuk memastikan bahwa file dapat digunakan sebagai sumber data untuk pembuatan indeks, pastikan:
File dikodekan dalam UTF-8.
Data file dikonversi ke format HA3 atau JSON.
I. Konfigurasi format JSON
Satu data JSON dalam satu baris.
'\n' untuk mengubah baris. Tidak boleh ada dalam satu JSON.
Tidak ada file lain di bawah direktori.
Tipe JSON adalah String. Saat membangun indeks, mereka akan dikonversi oleh skema.
Contoh:
{"field_double": ["100.0", "221.123", "500.3333333"], "field_int32": ["100", "200", "300"], "title": "Huawei Mate 9 Kirin 960 chip Leica dual camera", "color": "Red", "empty_int32": "", "price": "3599", "CMD": "add", "nid": "1", "gather_cn_str": "", "desc": ["str1", "str2", "str3"], "brand": "Huawei", "size": "5.9","__subdocs__":[{"sub_pk":"100","sub_field1":"200","sub_field2":["100","200","300"]},{"sub_pk":"200","sub_field1":"200","sub_field2":["100","200","300"]}]}
{"field_double": ["100.0", "221.123", "500.3333333", "100.0", "221.123", "500.3333333"], "field_int32": ["100", "200", "300", "100", "200", "300"], "title": "Huawei/Huawei P10 Plus full network phone", "color": "Blue", "empty_int32": "", "price": "4388", "CMD": "add", "nid": "2", "gather_cn_str": "colorBlue", "desc": ["str1", "str2", "str3", "str1", "str2", "str3"], "brand": "Huawei", "size": "5.5","__subdocs__":[{"sub_pk":"100","sub_field1":"200","sub_field2":["100","200","300"]},{"sub_pk":"200","sub_field1":"200","sub_field2":["100","200","300"]}]}Ii. Konfigurasi format HA3
Ambil file data lengkap bernama standard_sample.data sebagai contoh.
CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^
CMD=delete^_
PK=12345321^_CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^
CMD=delete^_
PK=12345321^_Definisi pemisah file: File data di atas berisi dua perintah: add dan delete. Setiap perintah terdiri dari beberapa baris, dan setiap baris adalah pasangan kunci-nilai. Perintah dipisahkan oleh '^^\n', pasangan kunci-nilai dipisahkan oleh '^_\n', dan beberapa nilai dipisahkan oleh '^]'. Tabel berikut menjelaskan pemisah file.
Pengkodean C++ | ASCII heksadesimal | Deskripsi | Format tampilan di (emacs/vi) | Metode input di emacs | Metode input di vi |
"\x1F\n" | 1F0A | Pemisah kunci-nilai | ^_ (diikuti dengan line feed) | C-q C-7 | C-v C-7 |
"\x1E\n" | 1E0A | Pemisah perintah | ^^ (diikuti dengan line feed) | C-q C-6 | C-v C-6 |
"\x1D" | 1D | Pemisah multi-nilai | ^] | C-q C-5 | C-v C-5 |
"\x1C" | 1C | Flag bobot bagian | ^\ | C-q C-4 | C-v C-4 |
"\x1D" | 1D | Pemisah bagian | ^] | C-q C-5 | C-v C-5 |
"\x03" | 03 | Pemisah bidang sub-dokumen | ^C | C-q C-c | C-v C-c |
Definisi format perintah
Perintah tambah: Digunakan untuk menambahkan konten baru ke indeks. Baris pertama dari perintah tambah harus CMD=add, diikuti oleh bidang dokumen. Urutan bidang bisa sama dengan urutan bidang dalam skema. Semua bidang perlu ditentukan dalam bidang.
CMD=add^_ PK=12345321^_ url=http://www.aliyun.com/index.html^_ title=Alibaba Cloud Computing Co., Ltd.^_ body=xxxxxx xxx^_ time=3123423421^_ multi_value_field=1234^]324^]342^_ bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_ ^^CMD=add^_ PK=12345321^_ url=http://www.aliyun.com/index.html^_ title=Alibaba Cloud Computing Co., Ltd.^_ body=xxxxxx xxx^_ time=3123423421^_ multi_value_field=1234^]324^]342^_ bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_ ^^Perintah hapus: Digunakan untuk menghapus konten tertentu dari indeks. Baris pertama dari perintah hapus harus CMD=delete, diikuti oleh bidang yang didefinisikan sebagai kunci utama dalam skema indeks dan bidang yang digunakan untuk partisi hash. Jika kedua bidang tersebut sama, hanya satu bidang yang perlu muncul.
CMD=delete^_ PK=12345321^_ ^^CMD=delete^_ PK=12345321^_ ^^
B. Unggah file ke bucket
Kembali ke halaman kontrol bucket. Di panel navigasi di sebelah kiri, pilih Manajemen Objek → Objek → Unggah Objek.
Di bagian Unggah Objek, pilih metode untuk memindai file. Pilih konten yang ingin diunggah, lalu klik Unggah Objek untuk menyelesaikan pengunggahan file.

Langkah 2: Tambahkan sumber data OSS + API
Beli instans: Untuk informasi lebih lanjut, lihat Beli instans Edisi Pencarian Vektor.
1. Informasi tabel dasar
Temukan instans Edisi Pencarian Vektor di Daftar Instans. Di kolom Aksi, klik Kelola. Di panel navigasi di sebelah kiri, pilih Manajemen Tabel > Tambah Tabel.
Setelah melengkapi informasi tabel dasar, klik Berikutnya.

Deskripsi:
Nama Tabel: Sesuaikan nama tabel.
Jumlah Shards Data: Masukkan bilangan bulat positif (maksimum: 256). Ini digunakan untuk meningkatkan kecepatan build penuh dan performa kueri tunggal.
Jumlah Sumber Daya Pembaruan Data: Jumlah sumber daya yang digunakan untuk pembaruan data. Setiap indeks memberikan dua sumber daya pembaruan gratis 4-core 8 GB secara default. Sumber daya di luar kuota gratis akan dikenakan biaya. Untuk informasi lebih lanjut, lihat Dokumentasi penagihan situs internasional Edisi Pencarian Vektor.
Template Skenario: Tiga template tersedia: 1. Template Umum, 2. Vektor: Template Pencarian Gambar, dan 3. Vektor: Template Pencarian Semantik Teks.
2. Sinkronisasi data
Pilih "Object Storage Service (OSS) + API" untuk Sumber Data Penuh dan lengkapi konfigurasi lainnya. Setelah Verifikasi Sumber Data, klik Berikutnya.

Deskripsi:
Jalur OSS: Jalur untuk mengakses file OSS. Dimulai dengan / dan tidak dapat mengandung karakter ?, =, atau &. File tidak dapat ditempatkan di direktori root. Mereka perlu ditempatkan di folder, lalu isi jalurnya.
Bucket OSS: Nama bucket OSS.
Format Data: File yang ditransfer perlu dalam format HA3 atau JSON. Jika tidak, data file tidak dapat ditransfer dengan sukses.
Verifikasi Sumber Data: Anda dapat melanjutkan ke langkah berikutnya setelah verifikasi.
3. Konfigurasi bidang
Edisi Pencarian Vektor akan mengatur bidang relevan berdasarkan template skenario, dan secara otomatis mengimpor bidang dari sumber data penuh. Setelah Anda menyelesaikan pengaturan Konfigurasi Bidang dan Pra-pemrosesan Data - Konfigurasikan, klik Berikutnya.

Arti bidang:
id (kunci utama)
source_image (gambar sumber)
namespace (namespace)
source_image_vector (vektor gambar sumber)
Deskripsi:
Bidang kunci utama dan vektor diperlukan. Untuk bidang kunci utama, atur parameter Tipe ke tipe integer, atau tipe STRING. Pilih tombol radio di kolom Kunci Utama. Untuk bidang vektor, atur parameter Tipe ke FLOAT dan pilih kotak centang di kolom Bidang Vektor.
Bidang vektor secara default adalah tipe FLOAT multi-nilai. Pemisah multi-nilai menggunakan koma sebagai pemisah default, tetapi Anda juga dapat memasukkan pemisah multi-nilai kustom.
Ketika sebuah bidang hilang atau kosong dalam data, sistem secara otomatis melengkapi nilai default. Untuk tipe numerik, nilai default adalah 0. Untuk tipe STRING, nilai default adalah string kosong. Anda dapat menyesuaikan nilai default.
Pra-pemrosesan Data Diperlukan - Konfigurasikan: Klik Konfigurasikan untuk masuk ke antarmuka konfigurasi pra-pemrosesan data untuk bidang source_image.

Sumber Data: Ada opsi: Penyimpanan Objek OSS dan Pengkodean Base64. Dalam contoh ini, pilih Penyimpanan Objek OSS.
Penyimpanan Objek OSS: Anda perlu mengisi jalur OSS, yang berarti menyimpan gambar dalam folder di OSS dan mengimpornya langsung dari OSS.
Pengkodean Base64: Ini berarti Anda perlu mengkodekan gambar terlebih dahulu dan kemudian menyimpannya di database atau mentransmisikannya langsung menggunakan metode API.
Template Pra-pemrosesan: Template yang berbeda akan ditampilkan berdasarkan jenis data yang akan diproses (teks atau gambar). Karena kita sedang memproses data gambar dalam contoh ini, template pra-pemrosesan adalah (1. Vektorisasi Gambar, 2. Pengenalan Teks Gambar OCR, 3. Pengenalan Teks Gambar OCR + Vektorisasi Gambar). Dalam demonstrasi ini, kita memilih template pra-pemrosesan Image Vectorization.
Daftar Layanan:
Setelah memilih template pra-pemrosesan, daftar layanan di bawah template muncul. Lihat jenis model yang digunakan dalam template.
Sumber model yang tersedia:
Model Bawaan: Model-model ini lebih sedikit dalam jenis dan jumlah tetapi dapat dipanggil secara gratis.
Model Kustom: Pengguna dapat menyesuaikan model sesuai kebutuhan mereka dengan operasi Add Model di Model List > Custom Models pada halaman Edisi Pencarian Vektor. Untuk informasi lebih lanjut, lihat Model kustom.
4. Skema indeks
Konfigurasikan skema indeks, lalu klik Berikutnya.

Deskripsi:
Bidang Termasuk: Bidang kunci utama dan bidang vektor perlu diisi. Bidang namespace bersifat opsional dan dapat dibiarkan kosong.
Konfigurasikan Dimensi Vektor, Pengindeksan Real-time, Jenis Jarak, dan Algoritma Indeks Vektor berdasarkan kebutuhan Anda.
Konfigurasi Lanjutan Lainnya: Gunakan parameter default secara langsung atau sesuaikan sesuai kebutuhan Anda. Untuk informasi lebih lanjut, lihat Konfigurasi indeks vektor umum. Setelah Anda menyelesaikan pengaturan di halaman Skema Indeks, klik Berikutnya untuk pergi ke halaman Konfirmasi Pembuatan.
5. Konfirmasi
Klik Konfirmasi. Tunggu selama 2 menit. Kembali ke halaman Daftar Instans. Ketika status instans adalah "Normal", lanjutkan dengan pencarian dan tes berikutnya dari Aksi - Kueri Temn.