Halaman ini mencantumkan batas keras untuk OpenSearch High-performance Search Edition, dikelompokkan berdasarkan kategori. Setiap tabel mencakup konsekuensi dari melebihi batas tersebut jika berlaku.
Batas sistem
| Item | Batas |
|---|---|
| Jumlah kluster per pengguna | Tidak dibatasi |
| Total dokumen per pengguna | Secara teoretis tidak dibatasi — ditentukan oleh kuota kapasitas penyimpanan Anda |
| Total jumlah tampilan halaman (PV) per pengguna | Secara teoretis tidak dibatasi — ditentukan oleh jumlah logical computing unit (LCU) yang dialokasikan ke akun Anda |
| Pengkodean karakter | UTF-8 |
Batas kluster
Tabel berikut mencantumkan batas untuk kluster bersama dan kluster eksklusif.
| Item | Kluster bersama | Kluster eksklusif |
|---|---|---|
| Panjang nama kluster | 30 karakter | 30 karakter |
| Panjang nama bidang | 30 karakter | 30 karakter |
| Panjang nama ekspresi pengurutan | 30 karakter | 30 karakter |
| Jumlah bidang | 256 | 512 |
| Panjang nama tabel sumber | 16 karakter | 16 karakter |
| Panjang nama bidang indeks | 64 karakter | 64 karakter |
| Bidang INT | 256 | — |
| Bidang TIMESTAMP | 4 | — |
| Bidang GEO_POINT | 2 | — |
| Bidang LITERAL (tidak dapat digunakan untuk membuat indeks komposit) | 256 | — |
| Bidang TEXT atau SHORT_TEXT | 32 | 64 |
| Indeks analisis numerik | 4 | 8 |
| Indeks komposit | 4 | 8 |
| Bidang per indeks komposit | 8 | — |
| Indeks analisis numerik pada bidang INT | 4 | 8 |
| Indeks analisis numerik pada bidang GEO_POINT | 2 | — |
| Indeks analisis numerik pada bidang TIMESTAMP | 4 | — |
| Indeks pada satu bidang TEXT atau SHORT_TEXT | 4 | 8 |
| Indeks pada satu bidang LITERAL | 256 | — |
| Indeks analisis kata kunci pada bidang INT | 256 | — |
| Indeks vektor | 0 | 2 |
| Total sumber data | 20 | — |
Kluster eksklusif yang dioptimalkan penyimpanan memiliki dua pembatasan tambahan:
Satu kluster tidak boleh melebihi delapan tabel.
Fitur query analysis tidak didukung, dan hasil kueri tidak ditampilkan.
Batas bidang
| Jenis bidang | Batas |
|---|---|
| INT64 | −2^63 hingga 2^63−1 |
| FLOAT | ±3,40282e+038 |
| DOUBLE | ±1,79769e+308 |
| LITERAL | Hingga 65.535 byte |
| TEXT | Hingga 65.536 kata |
| SHORT_TEXT | Hingga 100 byte. Bidang yang melebihi 100 byte akan dipotong. |
| LITERAL_ARRAY | Hingga 65.535 byte. Pembatas bawaan antar elemen adalah 2 byte. Bidang yang melebihi 65.535 byte akan dipotong pada elemen lengkap terakhir. Untuk kinerja terbaik, batasi setiap bidang hingga 100 elemen atau kurang. |
| INT_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY | Hingga 65.535 elemen per bidang saat dikonfigurasi sebagai bidang atribut. Untuk kinerja terbaik, batasi setiap bidang hingga 100 elemen atau kurang. |
Batas ekspresi pengurutan
| Item | Batas |
|---|---|
| Ekspresi pengurutan kasar | 30 |
| Ekspresi pengurutan presisi | 30 |
| Jumlah item fungsi fitur per ekspresi pengurutan kasar | 4 |
Batas ringkasan hasil pencarian
| Item | Deskripsi | Batas |
|---|---|---|
| Panjang segmen | Panjang maksimum satu segmen ringkasan | 1–300 byte |
| Jumlah segmen | Jumlah segmen yang disertakan dalam ringkasan hasil pencarian | 1–5 |
Batas dorong data
Batas tingkat API
| Item | Batas |
|---|---|
| Maksimum dokumen per panggilan API | 1.000. Untuk throughput lebih baik, dorong 100 dokumen per panggilan dan kelompokkan dokumen Anda. |
| Maksimum panggilan API per detik | 500. Permintaan yang melebihi laju ini gagal dengan error: rate exceeds app quota. |
Batas ukuran payload
| Item | Batas |
|---|---|
| Ukuran permintaan maksimum | 2 MB. Permintaan yang melebihi 2 MB gagal dengan error: rate exceeds app quota. |
| Ukuran total data maksimum per detik | 2 MB. Jika ukuran gabungan permintaan API dalam satu detik melebihi 2 MB, permintaan selanjutnya gagal. |
| Ukuran dokumen maksimum | 1 MB. Dokumen yang melebihi 1 MB tidak disinkronkan dan mengembalikan error: The total size of documents exceed. |
Batas sinkronisasi
| Item | Batas |
|---|---|
| Laju sinkronisasi inkremental untuk sumber data ApsaraDB RDS atau PolarDB | 2 MB/detik. Jika laju melebihi 2 MB/detik, sistem secara otomatis melakukan pengendalian aliran dan menunda sinkronisasi data inkremental. |
| Latensi sinkronisasi inkremental | 99% dokumen yang didorong dapat dicari dalam waktu 1 detik. 99,9% dapat dicari dalam waktu 1 menit. |
Karakter tersembunyi yang dicadangkan
Karakter berikut tidak boleh disertakan dalam data yang Anda dorong ke OpenSearch. Jika nilai bidang berisi salah satu karakter ini, catatan tersebut tidak disinkronkan.
| Kode | Tampilan Emacs/Vi |
|---|---|
"\x1E\n" | ^^ |
"\x1F\n" | ^_ |
"\x1C" | ^\ |
"\x1D" | ^] |
"\x03" | ^C |
Karakter non-printable\u0002dan\u0003secara otomatis dikonversi menjadi\t.
Mesin mendukung set karakter berikut: CJK_1 (\xe2[\xba-\xbf][\x80-\xbf]), CJK_2 ([\xe3-\xe9][\x80-\xbf][\x80-\xbf]), FULLWIDTH_1 (\xef[\xbc-\xbe][\x80-\xbf]), dan FULLWIDTH_2 (\xef\xbf[\x80-\xaf]).
Batas pencarian
| Item | Batas |
|---|---|
| Panjang maksimum per klausa (non-filter) | 1 KB sebelum encoding. Klausa yang melebihi 1 KB mengembalikan error dan dibuang. |
| Panjang maksimum klausa filter | 4 KB sebelum encoding. Klausa filter yang melebihi 4 KB mengembalikan error dan dibuang. |
| Hasil maksimum per halaman (satu permintaan) | 500 |
| Total hasil maksimum per pencarian (termasuk kueri berhalaman) | 5.000. Untuk lebih dari 5.000 hasil, gunakan kueri scroll. |
| Dokumen maksimum dalam pengurutan kasar | 1.000.000 |
| Dokumen maksimum dalam pengurutan presisi | 200 (default) |
Jika permintaan pencarian menghabiskan LCU yang dialokasikan ke aplikasi Anda, permintaan tersebut dijatuhkan dengan error: code:6015, message:Dropped by over compute resource quota.Batas pengindeksan ulang
| Item | Batas |
|---|---|
| Laju sinkronisasi maksimum | 20 MB/detik |
Batas SQL
Fitur yang tidak didukung
| Fitur | Catatan |
|---|---|
| DDL dan DML | Tidak didukung |
| Operasi memori global | Tidak didukung. Memori global dibatasi untuk mencegah error kehabisan memori (OOM) ketika set hasil besar diurutkan di memori. Misalnya, SELECT * FROM t ORDER BY id LIMIT 1000000000 gagal ketika volume data melebihi batas. |
| Nilai null | Tidak didukung. Nilai null yang dihasilkan oleh operasi seperti LEFT JOIN diganti dengan nilai default yang ditentukan. |
| Operator LIKE dan RLIKE | Tidak didukung untuk volume data besar. Gunakan fungsi QUERY sebagai gantinya. |
| Pengacakan ulang data lintas shard | Tidak didukung. Rancang distribusi data offline Anda berdasarkan pola kueri Anda. Batasan diberlakukan saat Anda melakukan join atau agregasi beberapa tabel. Jika terjadi error kueri, analisis rencana kueri tersebut. |
Aturan format dan penamaan
| Item | Aturan |
|---|---|
| Nama tabel dan kolom | Harus dimulai dengan huruf dan hanya boleh berisi huruf, angka, dan garis bawah (_). Karakter khusus tidak diperbolehkan. |
| Nama UDF | Tidak boleh bertentangan dengan kata kunci SQL atau kata yang dicadangkan. Jika terjadi bentrok, hindari nama UDF tersebut dengan backtick (` ``). |
| String konstan | Harus diapit tanda petik tunggal ('). Untuk menyertakan tanda petik tunggal literal dalam string, hindari dengan dua tanda petik tunggal berurutan (''). Untuk detail tentang escaping string dalam parameter dinamis, lihat Parameter dinamis. |
Batas jumlah
| Item | Batas |
|---|---|
| Operator statistik (per operator) | Maksimum 5.000.000 kunci; maksimum memori 512 MB |
| Ukuran set hasil default | 100 baris. Jika pernyataan SQL paling luar tidak mencantumkan klausa LIMIT, LIMIT 100 diterapkan secara otomatis. |
Batas operasi
| Item | Batas |
|---|---|
| Tipe ARRAY | Gunakan UDF seperti contain atau notcontain untuk perbandingan dan kueri. Operator =, <, >, dan IN tidak didukung. |
| Tipe ARRAY dengan GROUP BY | Klausa GROUP BY tidak mendukung bidang ARRAY. Gunakan UNNEST untuk meratakan array terlebih dahulu. Hal ini dapat meningkatkan volume data sementara — evaluasi dampak kinerjanya sebelum menerapkan ke produksi. |
| Tipe ARRAY dengan JOIN | Klausa JOIN tidak mendukung bidang ARRAY. Gunakan MULTICAST untuk mendistribusikan array terlebih dahulu. Hal ini dapat meningkatkan volume data sementara — evaluasi dampak kinerjanya sebelum menerapkan ke produksi. |
| Parameter dinamis | Hanya konstanta dalam ekspresi yang dapat diganti. Nama bidang, nama tabel, dan nilai LIMIT tidak dapat diganti. |
| Klausa ORDER BY | Harus digunakan bersama klausa LIMIT. |
| Operator UNION | Hanya UNION ALL yang didukung. UNION (deduplikasi) tidak didukung. Tabel input harus memiliki nama bidang, tipe, dan jumlah yang identik. |
| Kueri tabel ringkasan | Pemindaian seluruh tabel tidak didukung. Tentukan primary key saat mengkueri tabel ringkasan. |
| Kueri tabel anak | Bidang tabel anak tidak dapat dikembalikan. Jangan gunakan SELECT * saat mengkueri tabel anak. |
| Kueri indeks DATE atau RANGE | Tanda sama dengan (=) tidak didukung. Gunakan fungsi QUERY sebagai gantinya — misalnya, QUERY('time', '[1, 10]'). |
| Bidang atribut | Atribut dibuat untuk semua bidang secara default. Bidang bertipe TEXT atau SHORT_TEXT tidak dapat digunakan dalam ekspresi. |