全部产品
Search
文档中心

OpenSearch:Menggunakan plugin pemrosesan data

更新时间:Jul 02, 2025

OpenSearch memungkinkan Anda mengunggah data melalui operasi API, SDK OpenSearch, atau konsol. Selain itu, Anda dapat mengonfigurasi sumber data untuk menyinkronkan data dari database yang ada ke OpenSearch. Jika menggunakan operasi API atau SDK OpenSearch 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 di 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 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 ApsaraDB RDS atau sumber data PolarDB dalam kasus sharding basis data dan tabel. Namun, tabel OpenSearch hanya dapat dikaitkan dengan satu tabel sumber MaxCompute. Jika perlu menyinkronkan data dari beberapa tabel sumber MaxCompute, gabungkan tabel-tabel tersebut menjadi satu tabel lalu unggah.

Plugin pemrosesan data

Untuk menggunakan fitur pencarian tertentu atau fungsi, Anda harus mengonfigurasi tipe bidang tertentu. Misalnya, gunakan plugin yang dijelaskan dalam tabel berikut untuk mengonversi bidang tipe lain ke bidang tipe Array. Jika tidak, bidang-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 tertentu 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 ke nilai bidang bertipe array. Pastikan bahwa tipe nilai yang diekstraksi konsisten dengan tipe bidang tabel tujuan. Jika tidak, nilai yang diekstraksi akan hilang. Format array JSON merujuk pada format yang didefinisikan oleh OpenSearch. Contoh bidang bertipe LITERAL_ARRAY: {"tags":["a","b","c"]}. Contoh bidang bertipe INT_ARRAY: {"tags":[1,2,3]}.

MultiValueSpliter

Bidang sumber dipisahkan menjadi beberapa nilai yang dipisahkan oleh pembatas. Konten yang dipisahkan digunakan sebagai konten bidang tabel tujuan. Bidang tabel tujuan harus bertipe ARRAY.

Catatan

  • Jika pembatas adalah karakter non-printable umum, seperti \t, Anda dapat langsung menuliskannya. Jika pembatas adalah karakter non-printable yang tidak umum, gunakan karakter Unicode seperti \u001D untuk mengidentifikasinya.

  • Plugin ini juga mendukung pembatas multi-karakter, seperti ## dan \t\t.

Konten sumber data adalah 1,2,3. Anda dapat memasukkan koma (,) saat menentukan pembatas.

KeyValueExtractor

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

Untuk bidang key1:value1,value2;key2:value3, kuncinya adalah key1 dan key2, pasangan kunci-nilai dipisahkan oleh titik koma (;), kunci dan nilai dipisahkan oleh titik dua (:), dan nilai dipisahkan oleh koma (,). Jika Anda menggunakan pembatas untuk memisahkan nilai yang diekstraksi, nilai tersebut dikonversi ke nilai bidang bertipe Array. Pastikan bahwa tipe nilai yang diekstraksi konsisten 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. Kami sarankan menggunakan bidang bertipe LITERAL. Pisahkan beberapa bidang dengan koma (,). Bidang-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 tujuan diganti dengan nilai tanpa tag HTML.

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

Catatan

Informasi lebih lanjut, lihat Konfigurasi MultiValueSpliter.