Sebelum menggunakan indeks pencarian, Anda perlu memahami tipe data yang didukung serta pemetaannya terhadap tipe data di tabel data Anda.
Deskripsi tipe data
Indeks pencarian menyediakan tipe data primitif, seperti Long, Double, Boolean, Keyword, Text, Date, IP, Geopoint, Vector, dan JSON, serta tipe khusus seperti array, nested, dan kolom virtual.
Tipe Date pada indeks pencarian didukung mulai Tablestore Java Software Development Kit (SDK) versi 5.13.9 dan seterusnya. Untuk menggunakan tipe Date pada indeks pencarian, pastikan Anda menggunakan versi Java SDK yang sesuai. Untuk informasi selengkapnya mengenai riwayat rilis Java SDK, lihat Java SDK release history.
Tipe data primitif
Indeks pencarian menyediakan tipe data primitif, seperti Long, Double, Boolean, Keyword, Text, Date, IP, Geopoint, Vector, dan JSON. Tabel berikut menjelaskan tipe data tersebut.
Tipe data primitif | Deskripsi |
Long | Bilangan bulat panjang 64-bit. |
Double | Bilangan titik mengambang presisi ganda 64-bit. |
Boolean | Nilai Boolean. |
Keyword | String yang tidak ditokenisasi. |
FuzzyKeyword | String yang mendukung kueri fuzzy berkinerja-tinggi. |
Text | String atau teks yang telah ditokenisasi. |
Date | Tipe tanggal dan waktu yang mendukung format tanggal kustom. |
IP | Tipe IP yang mendukung alamat IP dalam format IPv4 dan IPv6. |
Geopoint | Informasi koordinat untuk suatu titik lokasi. Formatnya adalah |
Vector | Tipe vektor. Formatnya berupa string dari array Float32. Panjang array sama dengan dimensi bidang tersebut. Misalnya, string vektor |
Tipe JSON yang mendukung tipe indeks OBJECT dan NESTED. |
Tipe array dan nested
Selain tipe data primitif seperti Long, Double, Boolean, Keyword, Text, Date, Geopoint, dan Vector, indeks pencarian juga menyediakan dua tipe khusus: array dan nested. Tipe array cocok untuk menyimpan serangkaian data dengan tipe yang sama, sedangkan tipe nested cocok untuk menyimpan data dengan struktur hirarkis, mirip dengan JSON. Untuk informasi selengkapnya, lihat Array and nested types.
Tipe Array
Tipe Nested
Kolom virtual
Untuk mengkueri bidang baru dengan tipe data baru tanpa mengubah struktur penyimpanan dan data di Tablestore, gunakan kolom virtual dalam indeks pencarian. Untuk informasi selengkapnya, lihat Virtual columns.
Fitur kolom virtual memungkinkan Anda memetakan kolom dari tabel ke kolom virtual dalam indeks pencarian saat membuat indeks tersebut. Tipe kolom virtual baru dapat berbeda dari tipe kolom aslinya di tabel. Hal ini memungkinkan Anda membuat kolom baru tanpa mengubah skema tabel dan datanya. Kolom baru tersebut dapat digunakan untuk mempercepat kueri atau menggunakan pemisah kata yang berbeda.
Anda dapat mengonfigurasi metode tokenisasi yang berbeda untuk bidang Text yang dipetakan ke bidang yang sama di tabel.
Satu kolom String dapat dipetakan ke beberapa kolom Text dalam indeks pencarian. Kolom Text yang berbeda menggunakan metode tokenisasi yang berbeda untuk memenuhi berbagai kebutuhan bisnis.
Akselerasi kueri
Anda tidak perlu membersihkan data atau membuat ulang skema tabel. Cukup petakan kolom yang diperlukan dari tabel ke kolom dalam indeks pencarian. Tipe kolom antara tabel dan indeks pencarian dapat berbeda. Misalnya, petakan tipe numerik ke tipe Keyword untuk meningkatkan performa kueri tepat, dan petakan tipe String ke tipe numerik untuk meningkatkan performa kueri rentang.
Pemetaan tipe data
Nilai suatu bidang dalam indeks pencarian berasal dari nilai bidang yang sesuai di tabel data. Tipe data kedua bidang tersebut harus sesuai. Tabel berikut menjelaskan pemetaan antara tipe data bidang dalam indeks pencarian dan tabel data.
Tipe data bidang indeks pencarian | Tipe data bidang tabel data |
Long | Integer |
Long Array | String |
Double | Double |
Double Array | String |
Boolean | Boolean |
Boolean Array | String |
Keyword | String |
Keyword Array | String |
Text | String |
Date | Integer, String |
Date Array | String |
IP | String |
IP Array | String |
Geopoint | String |
Geopoint Array | String |
Vector | String |
Nested | String |
JSON | String |