全部产品
Search
文档中心

OpenSearch:Skema aplikasi

更新时间:Jan 17, 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 mendefinisikan 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 mendefinisikan 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 yang digunakan. Untuk informasi lebih lanjut mengenai rentang nilai bidang, lihat bagian "Batasan bidang" dalam 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 garis bujur dan lintang dalam format: "garis bujur lintang".

OBJECT

Merupakan array objek JSON. Menggunakan penyimpanan flattened dan kehilangan batas objek.

NESTED

Merupakan 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 (sebelumnya dikenal sebagai 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 garis 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 dan klik Configure: 1

  2. Pilih tabel primary dan tetapkan kunci primernya.

    image

  3. Tetapkan kunci primer tabel secondary.

    image

  4. Tetapkan 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 menggabungkan tabel sekunder ke tabel utama, Anda harus menggunakan kunci utama dari tabel sekunder untuk dicocokkan dengan bidang di tabel utama. Bidang non-kunci utama dari tabel sekunder tidak dapat digunakan untuk penggabungan tersebut.