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

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

注意 表中的類型必須一一對應,否則資料會被當做髒資料丟棄,尤其是Geo-point和Nested擁有各自特定的格式。如果格式不匹配也會被當做髒資料丟棄,則會出現資料在表中能查詢到,但是在多元索引中查詢不到的情況。
多元索引中欄位資料類型 資料表中欄位資料類型 描述
Long Integer 64位長整型。
Double Double 64位雙精確度浮點數。
Boolean Boolean 布爾值。
Keyword String 不可分詞字串。
Text String

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

Date Integer、String 日期資料類型,支援自訂各種格式日期資料。更多資訊,請參見日期資料類型
Geo-point String 位置點座標資訊,格式為緯度,經度,緯度在前,經度在後,且緯度範圍為[-90,+90],經度範圍為[-180,+180]。例如35.8,-45.91
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 支援 支援
Text 支援 支援
Date 支援 支援
Geo-point 支援 支援
Nested Nested本身就是數組 不支援