全部產品
Search
文件中心

Tablestore:字串類型

更新時間:Apr 30, 2026

多元索引支援三種字串類型:Keyword、FuzzyKeyword 和 Text。根據查詢需求選擇合適的類型。

背景資訊

Table Store資料表中的字串使用 String 類型儲存,相當於 C++、Java 等語言中的 String 類型。多元索引在此基礎上進一步細分,以支援不同的查詢模式:

類型

適用情境

Keyword

精確查詢、範圍查詢、排序和統計彙總

FuzzyKeyword

任意資料規模下的高效能萬用字元查詢、首碼查詢和尾碼查詢

Text

支援分詞化的全文檢索查詢,以及相關性評分

表中和多元索引中類型映射

資料表中的 String 類型可直接在多元索引中映射為 Keyword、FuzzyKeyword 或 Text 類型。通過虛擬列功能,您還可以將資料表中的 Integer 或 Double 類型映射為這三種字串類型。

表中資料類型

方式

多元索引中資料類型

String

直接使用

Keyword

FuzzyKeyword

Text

Integer

虛擬列

Keyword

FuzzyKeyword

Text

Double

虛擬列

Keyword

FuzzyKeyword

Text

類型介紹

Keyword

Keyword 將字串視為不可分割的整體儲存,類似關係型資料庫中的字串類型,是最常用的字串類型。支援精確查詢、多詞精確查詢、範圍查詢、萬用字元查詢、首碼查詢、存在性查詢(空值查詢),以及排序和統計彙總(含 GroupBy)。

典型應用情境:使用者識別碼、狀態代碼、郵件地址、國家代碼等需要精確匹配或彙總分析的欄位。

在百萬級以上資料集中,萬用字元查詢和首碼查詢的效能會隨資料規模增大而下降。如需在大規模資料上執行高效能模糊查詢,使用 FuzzyKeyword 類型。

Text

Text 專為全文檢索查詢設計。寫入時,系統按配置的分詞方式將字串拆分為詞語後分別建索引;查詢時,查詢詞同樣先分詞再匹配。

正因為 Text 對詞語而非原始值建索引,它支援相關性評分、摘要高亮、匹配查詢和短語匹配查詢,但不支援精確查詢、排序和統計彙總。

典型應用情境:商品描述、文章本文、使用者評論等需要按詞語搜尋的長文字欄位。

分詞方式的更多資訊,請參見分詞

FuzzyKeyword

FuzzyKeyword 專為高效能模糊查詢設計。寫入時,系統將每個欄位值的子串預先儲存在索引中,查詢時直接掃描緊湊的索引結構而非逐行遍曆未經處理資料。因此,萬用字元查詢、首碼查詢和尾碼查詢的效能不會隨資料規模增大而下降。

典型應用情境:日誌訊息、檔案路徑、商品 SKU 等使用者通過部分字串進行搜尋的欄位。

尾碼查詢直接使用 FuzzyKeyword 類型的 SuffixQuery。也可以將資料翻轉後對 Keyword 類型使用 PrefixQuery,但效能較弱。

說明
  • FuzzyKeyword 類型的欄位不支援排序和統計彙總。如需同時排序或彙總,通過虛擬列將該欄位額外映射為 Keyword 類型。

  • 如果一個欄位需要同時使用多種查詢功能(例如精確查詢、高效能模糊查詢和全文檢索查詢),通過虛擬列將資料表的一列在多元索引中分別映射為 Keyword、Text 和 FuzzyKeyword 類型。更多資訊,請參見虛擬列

類型區別

三種字串類型在支援的查詢功能和最大長度上有所差異,詳見下表。

說明

"✓"表示支援,"×"表示不支援。

功能

Keyword

FuzzyKeyword

Text

精確查詢

×

×

多詞精確查詢

×

×

範圍查詢

×

×

列存在性查詢(空值查詢)

排序

×

×

統計彙總

×

×

全文檢索查詢:分詞化

×

×

全文檢索查詢:相關性評分

×

×

全文檢索查詢:摘要高亮

×

×

全文檢索查詢:匹配查詢

×

×

全文檢索查詢:短語匹配查詢

×

×

萬用字元查詢

✓(大規模時效能較差)

✓(效能優)

×

首碼查詢

✓(大規模時效能較差)

✓(效能優)

×

尾碼查詢

×

×

最大長度

4 KB

2 KB

2 MB