Topik ini menjelaskan batasan yang diterapkan oleh Lindorm pada indeks pencarian.
Batasan berikut berlaku untuk indeks pencarian:
Tipe data
Kolom indeks pencarian mendukung tipe data berikut: BOOLEAN, BYTE, SHORT, INT, LONG, FLOAT, DOUBLE, STRING, CHAR, BINARY, TIMESTAMP, dan JSON.
Untuk data STRING, panjang maksimumnya adalah 8.191 karakter. Jika tokenisasi diaktifkan, batas ini berlaku untuk setiap term hasil tokenisasi. Data yang melebihi batas ini—baik sebagai string asli maupun sebagai term hasil tokenisasi—tidak akan disinkronkan ke indeks pencarian. Untuk informasi lebih lanjut tentang tokenisasi, lihat Kueri tokenisasi.
PentingTipe data JSON dan TIMESTAMP hanya didukung di Lindorm versi 2.6.5 dan yang lebih baru. Untuk informasi lebih lanjut tentang cara melihat dan melakukan upgrade versi LindormTable, lihat Catatan rilis LindormTable dan Pembaruan versi minor.
Jumlah indeks
Secara default, Anda hanya dapat membuat satu indeks pencarian dalam satu tabel lebar. Untuk membuat beberapa indeks pencarian, lihat Multiple indeks pencarian untuk satu tabel (Pratinjau Publik).Time to Live (TTL)
Jika tabel dasar memiliki TTL yang dikonfigurasi, indeks pencarian akan mewarisi TTL tersebut saat dibuat. Perubahan selanjutnya pada TTL tabel dasar tidak memengaruhi TTL indeks pencarian.
Jika tabel dasar tidak memiliki TTL yang dikonfigurasi, indeks pencarian akan mengadopsi TTL tabel dasar saat pertama kali ditetapkan. Perubahan selanjutnya pada TTL tabel dasar tidak memengaruhi TTL indeks pencarian.
Untuk mengubah TTL indeks pencarian secara terpisah, hubungi dukungan teknis Lindorm (ID DingTalk: s0s3eg3).
TTL untuk indeks pencarian diberlakukan oleh proses latar belakang yang secara berkala menghapus data kedaluwarsa. Akibatnya, data mungkin tetap tersedia untuk waktu singkat setelah masa TTL-nya berakhir.
Versi data ganda
Indeks pencarian tidak mendukung beberapa versi data di kolom kunci indeks.
Custom Timestamp
Secara default, Lindorm menghasilkan timestamp dalam milidetik untuk setiap baris data. Timestamp ini setara dengan versi data. Jika Anda menentukan timestamp kustom saat menulis baris data, server akan menggunakan timestamp dari aplikasi untuk baris tersebut. Metode penentuan timestamp kustom bervariasi tergantung pada klien.
Klien HBase menggunakan operasi Put berikut untuk menerapkan timestamp kustom:
public Put(byte[] row, long ts) public Put addColumn(byte[] family, byte[] qualifier, long ts, byte[] value)Klien Lindorm SQL menggunakan pernyataan berikut untuk menerapkan timestamp kustom:
UPSERT INTO testTable (pk,c1,c2,_l_ts_) values('1','2','3',1640966400000);
Jika indeks pencarian dibuat untuk tabel lebar Lindorm dan Anda ingin menggunakan timestamp kustom untuk data Anda, Anda harus mengubah atribut MUTABILITY tabel sebelum menulis data ke tabel tersebut. Anda dapat menjalankan salah satu pernyataan berikut untuk mengubah atribut MUTABILITY:
Gunakan HBase Shell untuk mengubah atribut MUTABILITY.
ALTER 'testTable', MUTABILITY=> 'MUTABLE_ALL'Gunakan Lindorm SQL untuk mengubah atribut MUTABILITY.
ALTER TABLE testTable SET 'MUTABILITY' = 'MUTABLE_ALL';
CatatanNilai default atribut MUTABILITY adalah
MUTABLE_LATEST. Untuk informasi lebih lanjut tentang jenis mutabilitas, lihat Konsep utama.
Jika Anda mengalami masalah apa pun, atau kirim Tiket.