全部产品
Search
文档中心

OpenSearch:Menggunakan plugin pemrosesan data

更新时间:Jul 02, 2025

OpenSearch memungkinkan Anda mengimpor data dengan memanggil operasi API, menggunakan OpenSearch SDK, atau melalui konsol. Anda juga dapat menyinkronkan data dari database PolarDB atau ApsaraDB RDS yang ada ke OpenSearch. Jika Anda menggunakan operasi API atau OpenSearch SDK untuk mengunggah data, lihat topik terkait karena plugin pemrosesan data yang dijelaskan dalam topik ini tidak dapat digunakan. Jika Anda menggunakan sumber data untuk menyinkronkan data cloud ke OpenSearch, konfigurasikan informasi sumber data di konsol. OpenSearch menyediakan beberapa plugin pemrosesan data untuk melakukan operasi konversi data sederhana. Plugin ini dapat digunakan saat mengonfigurasi pemetaan bidang antara tabel OpenSearch dan tabel sumber. Jika Anda menggunakan operasi API untuk mengunggah data, Anda harus memproses data sendiri sebelum mengunggahnya karena plugin pemrosesan data tidak tersedia.

Anda dapat mengaitkan tabel OpenSearch dengan beberapa tabel dalam sumber data ApsaraDB RDS atau PolarDB dalam kasus sharding basis data dan tabel. Namun, Anda hanya dapat mengaitkan tabel OpenSearch dengan satu tabel sumber MaxCompute. Jika perlu menyinkronkan data dari beberapa tabel sumber MaxCompute, gabungkan tabel tersebut menjadi satu tabel lalu unggah.

Plugin pemrosesan data

Untuk menggunakan fitur atau fungsi pencarian tertentu, Anda harus mengonfigurasi tipe bidang tertentu. Misalnya, gunakan plugin dalam tabel berikut untuk mengonversi bidang tipe lain ke bidang tipe array. Jika tidak, bidang tersebut tidak dapat direferensikan.

Catatan: Plugin dapat dikonfigurasi saat mengonfigurasi sumber data untuk aplikasi, bukan saat mendefinisikan skema aplikasi. Konfigurasi plugin hanya dapat dilakukan setelah sumber data dikonfigurasi.

Plugin

Deskripsi

Contoh

JsonKeyValueExtractor

Plugin ini mengekstrak nilai kunci yang ditentukan dari bidang sumber dalam format JSON. Nilai kunci yang diekstraksi digunakan sebagai nama bidang tabel tujuan. Hanya nilai dari kunci yang ditentukan yang dapat diekstraksi.

Nilai dari kunci title diekstraksi dari {"title":"the content","body":"the content"}. Jika nilai yang diekstraksi dalam format array JSON, nilai tersebut dikonversi menjadi nilai bidang tipe array. Pastikan bahwa tipe nilai yang diekstraksi sesuai dengan tipe bidang tabel tujuan. Jika tidak, nilai yang diekstraksi akan hilang. Format array JSON merujuk pada format yang didefinisikan oleh OpenSearch. Contoh bidang tipe LITERAL_ARRAY: {"tags":["a","b","c"]}. Contoh bidang tipe INT_ARRAY: {"tags":[1,2,3]}.

MultiValueSpliter

Plugin ini menggunakan pemisah untuk membagi nilai bidang sumber menjadi beberapa nilai. Nilai-nilai tersebut digunakan sebagai elemen array dari bidang tujuan yang sesuai. Bidang tujuan harus bertipe array. Jika menggunakan karakter non-printable sebagai pemisah, gunakan karakter Unicode seperti \u001D untuk mengidentifikasi karakter tersebut.

Nilai dari bidang sumber adalah 1,2,3. Anda dapat memasukkan koma (,) saat menentukan pemisah.

KeyValueExtractor

Plugin ini mengekstrak nilai kunci yang ditentukan dari bidang sumber yang merupakan pasangan kunci-nilai. Nilai kunci yang diekstraksi digunakan sebagai nilai bidang tabel tujuan. Hanya nilai dari kunci yang ditentukan yang dapat diekstraksi. Pemisah tidak diperlukan.

Untuk bidang key1:value1,value2;key2:value3, kuncinya adalah key1 dan key2, pasangan kunci-nilai dipisahkan menggunakan titik koma (;), kunci dan nilainya dalam satu pasangan dipisahkan menggunakan titik dua (:), dan nilai dipisahkan menggunakan koma (,). Jika menggunakan pemisah untuk memisahkan nilai yang diekstraksi, nilai tersebut dikonversi menjadi nilai bidang tipe array. Pastikan bahwa tipe nilai yang diekstraksi sesuai dengan tipe bidang tabel tujuan. Jika tidak, nilai yang diekstraksi akan hilang. Jika ada dua kunci identik, hanya nilai dari kunci kedua yang diekstraksi.

StringCatenateExtractor

Plugin ini menggabungkan nilai bidang yang ditentukan menjadi string dalam urutan tertentu. Plugin ini tidak dapat menggabungkan bidang bertipe INT. Disarankan menggunakan bidang bertipe LITERAL. Pisahkan beberapa bidang dengan koma (,). Bidang tersebut harus berasal dari bidang tabel tujuan.

Anda dapat menggunakan plugin ini untuk menggabungkan bidang field1 dan field2 menjadi bidang baru menggunakan garis bawah (_). Anda juga dapat memperoleh nama tabel saat ini dari variabel sistem $table. $table hanya ditampilkan saat wildcard sharding tabel dikonfigurasi.

HTMLTagRemover

Plugin ini menghapus tag HTML dari nilai bidang sumber. Kemudian, nilai bidang saat ini diganti dengan nilai tanpa tag HTML.

Nilai dari bidang sumber adalah < div id="copyright">OpenSearch< /div>. Jika menggunakan plugin ini untuk menghapus tag HTML, nilai dari bidang tersebut diurai sebagai OpenSearch.

Catatan

Informasi lebih lanjut, lihat Konfigurasikan Plugin MultiValueSpliter.