全部產品
Search
文件中心

Tablestore:基礎資料類型及映射

更新時間:Sep 10, 2024

本文介紹了資料表中和多元索引中欄位資料類型的映射關係,以及不同欄位資料類型支援的附加屬性資訊。

多元索引的欄位值來源於資料表中同名欄位的值,兩者的資料類型必須相匹配,多元索引欄位資料類型與資料表中欄位資料類型的匹配關係請參見下表。

重要

表中的類型必須一一對應,否則資料會被當作髒資料丟棄,尤其是Geo-point和Nested擁有各自特定的格式。如果格式不匹配也會被當做髒資料丟棄,則會出現資料在表中能查詢到,但是在多元索引中查詢不到的情況。

多元索引中欄位資料類型

資料表中欄位資料類型

描述

Long

Integer

64位長整型。

Double

Double

64位雙精確度浮點數。

Boolean

Boolean

布爾值。

Keyword

String

不可分詞字串。

FuzzyKeyword

String

支援高效能模糊查詢的字串。

Text

String

可分詞字串或文本。關於分詞的更多資訊,請參見分詞

Date

Integer、String

日期資料類型,支援自訂各種格式日期資料。更多資訊,請參見日期時間類型

Geo-point

String

位置點座標資訊,格式為緯度,經度,緯度在前,經度在後,且緯度範圍為[-90,+90],經度範圍為[-180,+180]。例如35.8,-45.91

Vector

String

向量類型,格式為Float32數組的字串,數組長度與該欄位的維度相等。例如向量字串[1, 5.1, 4.7, 0.08 ]的維度為4。

Nested

String

巢狀型別,例如[{"a": 1}, {"a": 3}]。

多元索引欄位還支援如下附加屬性。

屬性

類型

描述

IsArray

Boolean

是否為數組。

如果為true,則該列是一個數組。在寫入時,也必須按照JSON數組格式寫入,例如["a","b","c"]。

Nested類型本身就是一個數組,所以無須設定Array。

Array類型不影響查詢,所以Array類型的資料可以用於所有的Query查詢。

isVirtualField

Boolean

是否為虛擬列。

  • 如果為true,則該列為虛擬列。當該列為虛擬列時,必須設定此列映射的原始欄位。關於虛擬列的更多資訊,請參見虛擬列

  • 如果為false,則該列不為虛擬列。此時該列的資料類型必須和資料表的資料類型相匹配。

資料類型和欄位屬性群組合使用的情況請參見下表。

類型

IsArray

isVirtualField

Long

支援

支援

Double

支援

支援

Boolean

支援

不支援

Keyword

支援

支援

FuzzyKeyword

支援

支援

Text

支援

支援

Date

支援

支援

Geo-point

支援

支援

Vector

不支援,Vector本身就是數組

支援

Nested

不支援,Nested本身就是數組

不支援