All Products
Search
Document Center

OpenSearch:Skema aplikasi

Last Updated:Jun 21, 2026

Skema aplikasi

Data yang didorong ke instans Industry Algorithm Edition pertama kali disimpan dalam tabel data offline. Untuk menyederhanakan proses pendorongan data, Anda dapat menentukan beberapa tabel dan menggunakan plugin pemrosesan data. Anda harus menentukan bidang kunci asing untuk tabel-tabel tersebut. Setelah pemrosesan data selesai, tabel-tabel tersebut digabungkan menjadi tabel indeks. Tabel indeks ini menetapkan atribut pencarian yang digunakan mesin untuk membangun indeks dan menjalankan kueri.

Bidang tabel data

Tabel data digunakan untuk impor data. Persyaratan tipe bidang bervariasi tergantung pada plugin pemrosesan data. Untuk informasi lebih lanjut mengenai rentang nilai bidang, lihat bagian "Batasan bidang" di Batasan. Jika suatu nilai berada di luar rentang yang ditentukan, nilai tersebut akan overflow atau terpotong. Oleh karena itu, pastikan Anda memilih tipe bidang yang tepat.

Type

Description

INT

Integer 64-bit.

INT_ARRAY

Array integer 64-bit.

FLOAT

Bilangan floating-point.

FLOAT_ARRAY

Array bilangan floating-point.

DOUBLE

Bilangan floating-point.

DOUBLE_ARRAY

Array bilangan floating-point.

LITERAL

Literal string. Hanya mendukung pencocokan eksak.

LITERAL_ARRAY

Array literal string. Satu elemen hanya mendukung pencocokan eksak.

SHORT_TEXT

Teks pendek. Panjangnya harus dalam batas 100 byte. Mendukung beberapa metode tokenisasi.

TEXT

Teks panjang. Mendukung beberapa metode tokenisasi.

TIMESTAMP

Integer tak bertanda 64-bit. Data timestamp.

GEO_POINT

Literal string. Bidang bujur dan lintang dalam format: "bujur lintang".

OBJECT

Merepresentasikan array objek JSON. Menggunakan penyimpanan terflattened dan kehilangan batas objek.

NESTED

Merepresentasikan array objek JSON. Menggunakan penyimpanan independen untuk dokumen primary dan secondary serta mempertahankan integritas objek.

Catatan mengenai kata tercadang:

  • Kata tercadang berikut tidak boleh digunakan sebagai nama bidang: ['service_id', 'ops_app_name', 'inter_timestamp', 'index_name', 'pk', 'ops_version', 'ha_reserved_timestamp', 'summary'].

Catatan mengenai tipe ARRAY:

  • Jika Anda membuat bidang aplikasi dengan tipe ARRAY, Anda dapat memetakan bidang tersebut ke bidang bertipe string, seperti varchar atau string, dari sumber data selama pemetaan bidang. Anda kemudian dapat menggunakan plugin pemrosesan data untuk mengurai bidang sumber data tersebut. Untuk informasi lebih lanjut, lihat Plugin pemrosesan data.

  • Jika Anda mendorong bidang bertipe ARRAY menggunakan API atau SDK, doronglah sebagai array, bukan sebagai string. Contoh: String[] literal_array = {"Alibaba Cloud","OpenSearch"};

Catatan mengenai bidang timestamp:

  • Anda dapat memetakan bidang bertipe INT dan TIMESTAMP ke bidang datetime atau timestamp di sumber data. Nilainya secara otomatis dikonversi ke milidetik. Selama pencarian, Anda dapat menggunakan kueri range untuk memfilter dan mengambil hasil berdasarkan interval waktu.

Tipe bidang sumber data yang didukung

Sumber data

Tipe bidang yang didukung

RDS

TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,REAL,DOUBLE,NUMERIC,DECIMAL,TIME,DATE,TIMESTAMP,VARCHAR

PolarDB

TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,REAL,DOUBLE,NUMERIC,DECIMAL,TIME,DATE,TIMESTAMP,VARCHAR

MaxCompute (formerly known as ODPS)

BIGINT,DOUBLE,BOOLEAN,DATETIME,STRING,DECIMAL,MAP,ARRAY,TINYINT,SMALLINT,INT,FLOAT,CHAR,VARCHAR,DATE,TIMESTAMP,BINARY,INTERVAL_DAY_TIME,INTERVAL_YEAR_MONTH,STRUCT

Pemetaan antara tipe bidang tabel Industry Algorithm Edition dan tabel database

Tabel Industry Algorithm Edition

Tabel RDS

Tabel PolarDB

Tabel MaxCompute

INT

BIGINT, TINYINT, SMALLINT, INTEGER

BIGINT, TINYINT, SMALLINT, INTEGER

BIGINT, TINYINT, SMALLINT, INT

INT_ARRAY

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

FLOAT

FLOAT, NUMERIC, DECIMAL

FLOAT, NUMERIC, DECIMAL

FLOAT, DECIMAL

FLOAT_ARRAY

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

DOUBLE

DOUBLE, NUMERIC, DECIMAL

DOUBLE, NUMERIC, DECIMAL

DOUBLE, DECIMAL

DOUBLE_ARRAY

Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

LITERAL

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR dan STRING.

LITERAL_ARRAY

Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data.

SHORT_TEXT

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR dan STRING.

TEXT

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR dan STRING.

TIMESTAMP

tipe datetime atau timestamp.

tipe datetime atau timestamp.

tipe datetime atau timestamp.

GEO_POINT

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR.

Tipe string, seperti VARCHAR dan STRING, dalam format lon lat. lon merepresentasikan bujur dan lat merepresentasikan lintang. Kedua nilai harus bertipe double dan dipisahkan oleh spasi. Rentang nilai untuk lon adalah [-180, 180], dan rentang nilai untuk lat adalah [-90, 90].

Catatan:

  • Jika bidang sumber data bertipe FLOAT atau DOUBLE, ubah tipenya menjadi DECIMAL. Jika tidak, masalah presisi dapat terjadi.

Metode untuk membuat skema aplikasi

Industry Algorithm Edition menyediakan empat metode berikut untuk membuat skema aplikasi (skema tabel untuk Industry Algorithm Edition):

  1. Buat dari sumber data (RDS, MaxCompute, atau PolarDB).

  2. Buat secara manual (lihat bagian Configure table joins di bawah).

  3. Buat dari templat.

  4. Buat dengan mengunggah dokumen.

Configure table joins

Bagian ini menjelaskan cara mengonfigurasi penggabungan tabel dengan membuat skema aplikasi secara manual. Contoh ini menggunakan dua tabel: main (tabel primary) dan test_tb_1 (tabel secondary).

  1. Masuk ke Konsol OpenSearch. Pada halaman Ha3 engine, temukan aplikasi dalam daftar aplikasi dan klik Configure di kolom Actions.

  2. Pilih tabel primary dan atur kunci primernya.

    image

  3. Atur kunci primer tabel secondary.

    image

  4. Atur asosiasi antara tabel primary dan secondary. Konfigurasi ini dilakukan di tabel primary.

    image

Catatan
  • Untuk informasi lebih lanjut mengenai asosiasi data tabel primary-secondary yang didukung oleh Industry Algorithm Edition, lihat Create table joins.

  • Hanya bidang bertipe int atau literal yang dapat digunakan sebagai bidang kunci asing.

  • Saat Anda menggabungkan tabel primary dan secondary, bidang penggabung harus memiliki tipe data yang sama. Misalnya, jika satu bidang bertipe int, bidang lainnya juga harus bertipe int. Jika satu bidang bertipe literal, bidang lainnya juga harus bertipe literal.

  • Saat Anda menggabungkan tabel secondary ke tabel primary, Anda harus menggunakan kunci primer tabel secondary untuk digabungkan dengan bidang di tabel primary. Anda tidak dapat menggunakan bidang non-kunci primer dari tabel secondary untuk penggabungan.