全部产品
Search
文档中心

Tablestore:Tipe string

更新时间:Dec 07, 2025

Topik ini menjelaskan tiga tipe data string: Keyword, FuzzyKeyword, dan Text, serta cara memilih tipe yang sesuai untuk aplikasi Anda.

Informasi latar belakang

Tipe String merupakan salah satu tipe data paling umum dalam sistem data dan digunakan hampir di semua skenario bisnis. Dalam database relasional tradisional, tipe String diklasifikasikan menjadi berbagai jenis, seperti string panjang tetap dan string panjang variabel.

Di Tablestore, tipe string utama adalah String, yang mirip dengan tipe String dalam bahasa pemrograman seperti C++ dan Java. Untuk mendukung lebih banyak fitur, indeks pencarian mengklasifikasikan string ke dalam tiga tipe spesifik: Keyword (mirip dengan string standar), FuzzyKeyword (digunakan untuk kueri fuzzy), dan Text (mendukung tokenisasi untuk pencarian teks penuh).

Topik ini menjelaskan hubungan dan perbedaan antara ketiga tipe tersebut serta cara memilih tipe yang tepat untuk skenario bisnis Anda.

Pemetaan tipe data antara tabel dan indeks pencarian

Tipe String dalam tabel dapat dipetakan ke tipe Keyword, FuzzyKeyword, atau Text dalam indeks pencarian. Anda juga dapat menggunakan fitur kolom virtual untuk memetakan tipe Integer atau Double dalam tabel ke tipe Keyword, FuzzyKeyword, atau Text dalam indeks pencarian.

Tipe data dalam tabel

Metode

Tipe data dalam indeks pencarian

String

Penggunaan langsung

Keyword

FuzzyKeyword

Text

Integer

Kolom virtual

Keyword

FuzzyKeyword

Text

Double

Kolom virtual

Keyword

FuzzyKeyword

Text

Tipe data

Keyword

Tipe Keyword adalah tipe string yang paling umum digunakan, mirip dengan tipe string dalam database dan bahasa pemrograman seperti C++ dan Java.

Tipe Keyword mendukung kueri tepat (term query), kueri rentang (range query), kueri wildcard, kueri awalan (prefix query), kueri exists (untuk nilai null), pengurutan (sorting), serta operasi agregasi seperti GroupBy. Pada set data menengah hingga besar dengan lebih dari satu juta entri, performa kueri wildcard dan prefix menurun seiring peningkatan ukuran set data.

Gunakan tipe Keyword jika Anda tidak memerlukan kueri fuzzy atau pencarian teks penuh. Tipe ini diperlukan untuk fitur seperti pengurutan dan agregasi statistik.

Text

Tipe Text mirip dengan tipe teks dalam mesin pencari dan digunakan untuk pencarian teks penuh. Tipe ini mendukung berbagai metode tokenisasi, di mana sistem terlebih dahulu membagi string menjadi serangkaian token lalu menyimpannya secara terpisah.

Tipe Text menyediakan berbagai metode tokenisasi. Beberapa metode melakukan pembagian sederhana berdasarkan kata atau karakter, sedangkan metode lainnya berdasarkan semantik. Metode yang berbeda cocok untuk skenario bisnis yang berbeda. Untuk informasi selengkapnya, lihat Tokenisasi.

Gunakan tipe Text untuk fitur pencarian teks penuh.

FuzzyKeyword

Tipe FuzzyKeyword adalah tipe string yang mendukung kueri wildcard, awalan (prefix), dan akhiran (suffix) berkinerja tinggi, dengan performa kueri yang tetap stabil terlepas dari ukuran set data.

Gunakan tipe FuzzyKeyword ketika Anda memerlukan kueri wildcard, awalan, atau akhiran berkinerja tinggi (dalam orde milidetik).

Untuk melakukan kueri akhiran (suffix query), Anda dapat menggunakan SuffixQuery dengan tipe FuzzyKeyword. Sebagai alternatif, Anda dapat membalikkan data dan menggunakan PrefixQuery—yang berperforma lebih rendah—dengan tipe Keyword.

Catatan
  • Bidang FuzzyKeyword tidak mendukung pengurutan atau agregasi statistik. Jika bidang tersebut juga perlu diurutkan atau diagregasi, gunakan fitur kolom virtual untuk memetakannya ke tipe Keyword.

  • Jika suatu bidang memerlukan beberapa fitur kueri—seperti kueri tepat, kueri fuzzy berkinerja tinggi, dan pencarian teks penuh—gunakan fitur kolom virtual untuk memetakan satu kolom tabel ke tiga kolom indeks pencarian dengan tipe masing-masing: Keyword, Text, dan FuzzyKeyword. Untuk informasi selengkapnya, lihat Kolom virtual.

Perbedaan antar tipe

Tipe Keyword, Text, dan FuzzyKeyword mendukung fitur kueri yang berbeda dan memiliki panjang maksimum yang berbeda. Tabel berikut menjelaskan perbedaannya.

Catatan

Tanda centang (✓) menunjukkan bahwa fitur tersebut didukung. Tanda silang (×) menunjukkan bahwa fitur tersebut tidak didukung.

Fitur

Keyword

FuzzyKeyword

Text

Kueri tepat

×

×

Kueri terms

×

×

Kueri rentang

×

×

Kueri exists (kueri nilai null)

Pengurutan

×

×

Agregasi statistik

×

×

Pencarian teks penuh: Tokenisasi

×

×

Pencarian teks penuh: Skor relevansi

×

×

Pencarian teks penuh: Penyorotan dan ringkasan

×

×

Pencarian teks penuh: Kueri match

×

×

Pencarian teks penuh: Kueri match phrase

×

×

Kueri wildcard

✓ (Performa lebih rendah pada set data besar)

✓ (Berkinerja tinggi)

×

Kueri awalan

✓ (Performa lebih rendah pada set data besar)

✓ (Berkinerja tinggi)

×

Kueri akhiran

×

×

Panjang maksimum

4 KB

2 KB

2 MB