All Products
Search
Document Center

OpenSearch:Kondisi filter sumber data (RDS/PolarDB)

Last Updated:Apr 01, 2026

Kondisi filter memungkinkan Anda mengontrol baris mana dari tabel ApsaraDB RDS atau PolarDB yang disinkronkan ke OpenSearch. Hanya baris yang memenuhi kondisi tersebut yang diindeks. Kondisi ini berlaku baik untuk sinkronisasi penuh maupun inkremental.

Sintaksis yang didukung

Tipe bidang

Kondisi filter mendukung tipe bidang SQL berikut:

KategoriTipe
IntegerTINYINT, SMALLINT, INTEGER, BIGINT
Floating-pointFLOAT, REAL, DOUBLE, NUMERIC, DECIMAL
Tanggal dan waktuTIME, TIMESTAMP

Bidang karakter (string) dan bidang DATE/DATETIME didukung melalui sintaksis khusus — lihat Skenario contoh.

Operator perbandingan

OperatorBerlaku untuk
<, >, <=, >=Bidang numerik dan tanggal/waktu
=, !=, <>Bidang numerik dan karakter

Operator logika

Hanya logika AND yang didukung. Pisahkan kondisi dengan koma (,) — bukan kata kunci AND.

# klausa WHERE SQL (tidak valid dalam kondisi filter OpenSearch)
where status=1 and type=2   # Tidak valid
status=1 and type=2         # Tidak valid

# Sintaksis kondisi filter OpenSearch
status=1,type=2             # Valid

Skenario contoh

Filter berdasarkan nilai bidang karakter

Untuk menyinkronkan hanya baris di mana bidang string cocok dengan nilai tertentu:

field_string='a'
field_string!='b'

Nilai string dapat menggunakan tanda kutip tunggal ('), tanda kutip ganda ("), atau tanpa tanda kutip.

Untuk menyinkronkan baris di mana bidang string kosong atau berisi string null:

field = ''
field != ''
field <> ''
field = 'null'
field = 'NULL'
field != 'null'
field != 'NULL'
field <> 'null'
field <> 'NULL'

Filter berdasarkan nilai NULL

Untuk menyertakan atau mengecualikan baris di mana bidang numerik atau karakter bernilai NULL:

field = null
field = NULL
field != null
field != NULL
field <> null
field <> NULL
IS NULL dan IS NOT NULL tidak didukung. Gunakan = null atau != null sebagai gantinya.

Filter berdasarkan bidang tanggal atau datetime

Untuk menyinkronkan hanya baris yang dibuat setelah tanggal tertentu:

createtime>'2021-02-05 00:00:00'

Nilai waktu harus mengikuti format YYYY-MM-DD HH:MM:SS.

Filter berdasarkan multiple kondisi

Untuk menggabungkan beberapa kondisi (hanya logika AND), pisahkan dengan koma:

status=1,literal_id='abcd',createtime>'2021-02-05 00:00:00'

Catatan penggunaan

  • Kondisi filter hanya berlaku untuk sumber data ApsaraDB RDS dan PolarDB.

  • Gunakan nama bidang tabel dari database sumber, bukan nama bidang dari skema aplikasi OpenSearch.

  • Kondisi filter berlaku untuk sinkronisasi penuh maupun inkremental. Sebagai contoh, jika status=1 dikonfigurasi dan sebuah dokumen berubah dari status=1 menjadi status=2 di ApsaraDB RDS, dokumen tersebut tidak ditarik ke OpenSearch.

  • Sintaksis berikut tidak didukung:

    • Logika OR

    • IS NULL / IS NOT NULL

    • Fungsi dan ekspresi, seperti in(type,1,2,3) dan length(title)>10

    • LIKE dan NOT LIKE

    • Kondisi tautologis seperti 1=1