共用方式為


支援的資料類型 (Azure AI 搜尋)

本文說明 Azure AI 搜尋所支援的數據類型。 篩選運算式中使用的欄位和值是根據 實體資料模型 (EDM) 輸入的。 指定 EDM 資料類型是欄位定義的需求。

注意

如果您使用 索引子,請參閱 Azure AI 搜尋服務中索引子的資料類型對應 ,以取得索引子如何將來源特定資料類型對應至搜尋索引中的 EDM 資料類型的詳細資訊。

向量欄位的 EDM 資料類型

向量欄位類型必須對內嵌模型的輸出有效。 例如,如果您使用 text-embedding-ada-002,則輸出格式為 Float32Collection(Edm.Single)。 在此案例中,您無法指派Int8資料類型,因為禁止轉換自floatint至基本類型。 但是,您可以從 或 Float16(Collection(Edm.Half))投射到 Float32

向量欄位是內嵌的陣列。 在EDM中,陣列是集合。

數據類型 向量類型 描述 建議使用
Collection(Edm.Byte) 二元的 1 位無符號二進位檔。 在 建立或更新索引中正式推出。 支援與發出二進位內嵌的模型整合,例如 Cohere 的 v3 二進位內嵌模型。 或發出 1 位元無符號二進位輸出的自訂量化邏輯。 對於類型 Collection(Edm.Byte)的欄位,請參閱 索引二進位資料, 以取得指定二進位資料的欄位定義和向量搜尋演算法的說明。
Collection(Edm.Single) Float32 32 位浮點數。 在 建立或更新索引中正式推出。 Microsoft工具中的預設數據類型,代表您建立向量字段。 在精確度和效率之間取得平衡。 大多數嵌入模型發出向量為 Float32
Collection(Edm.Half) Float16 16 位浮點,有效位數和範圍較低。 在 建立或更新索引中正式推出。 適用於記憶體和計算效率十分重要,以及犧牲一些有效位數的案例。 通常 Float32會導致更快的查詢時間並減少記憶體佔用,儘管準確性略有降低。 您可以將類型指派 Float16 給索引 Float32 內嵌 Float16的類型,作為 。 您也可以用於 Float16 內嵌模型或原生發出 Float16 的自訂量化程序。
Collection(Edm.Int16) Int16 16 位帶正負號的整數。 在 建立或更新索引中正式推出。 Float32 更高精度的量化方法相比,提供更少的記憶體佔用,並支援更高精度的量化方法,同時仍為許多應用保留足夠的精度。 適用於記憶體效率很重要的情況。 要求您具有將向量輸出為 Int16的自訂量化。
Collection(Edm.SByte) Int8 8 位帶正負號的整數。 在 建立或更新索引中正式推出。 Float32Float16相比,提供顯著的記憶體和運算效率提升。 不過,它可能需要補充技術(如量化和過度取樣),以適當地抵消精確度和召回率的降低。 要求您具有將向量輸出為 Int8的自訂量化。

非函式欄位的 EDM 資料類型

數據類型 描述
Edm.String 文字數據。
Edm.Boolean 包含 true/false 值。
Edm.Int32 32 位整數值。
Edm.Int64 64 位整數值。
Edm.Double 雙精確度 IEEE 754 浮點數。
Edm.DateTimeOffset 以 OData V4 格式表示的日期和時間值: yyyy-MM-ddTHH:mm:ss.fffZyyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm。 欄位的 DateTimeOffset 精確度限制為毫秒。 如果您上傳 DateTimeOffset 具有亞毫秒精確度的值,則傳回的值會四捨五入為毫秒 (例如, 2024-04-15T10:30:09.7552052Z 傳回為 2024-04-15T10:30:09.7550000Z)。 當您將具有時區資訊的 DateTimeOffset 值上傳至索引時,Azure AI 搜尋服務會將這些值標準化為 UTC。 例如, 2024-01-13T14:03:00-08:00 儲存為 2024-01-13T22:03:00Z。 如果您需要儲存時區資訊,請將額外的欄位新增至您的索引。
Edm.GeographyPoint 代表全球地理位置的點。 針對要求和響應主體,此類型的值表示會遵循 GeoJSON “Point” 類型格式。 針對 URL,OData 會根據 WKT 標準使用常值表單。 點常值會建構為 geography'POINT(lon lat)'。
Edm.ComplexType 屬性對應至可以是任何其他支持數據類型之子欄位的物件。 此類型會啟用結構化階層式數據的索引,例如 JSON。 類型 Edm.ComplexType 欄位中的物件可以包含巢狀物件,但巢狀層級有限。 這些限制在 服務限制中說明。
Collection(Edm.String) 字串清單。
Collection(Edm.Boolean) 布爾值的清單。
Collection(Edm.Int32) 32 位整數值的清單。
Collection(Edm.Int64) 64 位整數值的清單。
Collection(Edm.Double) 雙精確度數值的清單。
Collection(Edm.DateTimeOffset) 日期時間值的清單。
Collection(Edm.GeographyPoint) 代表地理位置的點清單。
Collection(Edm.ComplexType) 類型為 Edm.ComplexType的物件清單。 文件中所有類型 Edm.ComplexType 集合的元素數目上限都有限制。 如需詳細資訊,請參閱 服務限制

上述所有類型都是可為 Null 的,但基本類型和複雜類型的集合除外,例如 Collection(Edm.String)。 可為 Null 的欄位可以明確設定為 null。 當從上傳至 Azure AI 搜尋服務索引的檔省略時,它們會自動設定為 null。 集合欄位在文件中省略時,會自動設定為空白 ([] 在 JSON 中)。 此外,您無法將 Null 值儲存在集合欄位中。

與複雜集合不同,基本類型集合中的項目數沒有特別上限,但 承載大小的 16 MB 上限 適用於文件的所有部分,包括集合。

篩選表達式中使用的地理空間數據類型

在 Azure AI 搜尋中,地理空間搜尋會以篩選形式表示。

Edm.GeographyPolygon 是代表地球上地理區域的多邊形。 雖然此類型無法在文件欄位中使用,但可以作為函數的 geo.intersects 引數使用。 OData中URL的文字形式是以 WKT(已知文字)和OGC的簡單功能存取標準為基礎。 多邊形常值會建構為 geography'POLYGON(lon lat, lon lat, ...)'。

重要

多邊形中的點 必須 按逆時針順序排列。 多邊形中的點會以逆時針順序解譯,相對於多邊形內部。 例如,倫敦周圍的 4 點封閉多邊形會是 -0.3°W 51.6°N [左上方] ,-0.3°W 51.4°N [左下], 0.1°E 51.4°N [右下角], 0.1°E 51.6°N [右上方], -0.3°W 51.6°N [起點]。

另請參閱