日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

管理Schema

更新時間:

在Milvus中,Schema定義了向量數據庫中數據的組織結構,包括字段名稱和類型等。通過定義Schema來管理和查詢數據,以支持高效的搜索和分析操作。本文為您介紹Collection和字段的Schema定義以及如何在Milvus中創建Schema。

前提條件

  • 已在本地客戶端成功安裝了PyMilvus庫,并將其更新至當前最新版本。

    如果您尚未在本地客戶端安裝PyMilvus庫,或者需要將其更新至當前最新版本,您可以執行以下命令。

    pip install --upgrade pymilvus
  • 已創建Milvus實例,請參見詳情快速創建Milvus實例

Schema介紹

在創建集合之前,通常需要預先定義字段的Schema,以便在構建集合時能夠整合并應用這些字段的Schema以及集合的Schema設置。

字段Schema

在Milvus中定義字段Schema時,系統當前只允許指定一種類型的字段作為主鍵(Primary Key)。

屬性

描述

name

字段的名稱。

dtype

字段的數據類型。

description

字段的描述信息。

is_primary

是否將該字段設為主鍵。取值為True或False。

auto_id(主鍵字段)

是否為主鍵字段啟用自動遞增ID。取值為True或False。

max_length(Varchar屬性)

設置Varchar類型字段的最大長度。取值范圍為[1, 65535]。

dim

向量字段的維度,是一個整數(Integer)類型的值,取值范圍為[1, 32768]。

is_partition_key

是否將該字段作為分區鍵使用。取值為True或False。

Collection Schema

Collection Schema是Milvus中對集合結構和特性的詳細定義。

屬性

描述

field

集合中定義的字段。

description

集合的描述信息??蛇x參數。

partition_key_field

分區字段的名稱??蛇x參數。

enable_dynamic_field

是否開啟動態Schema屬性。默認值為False。

創建Collection Schema

以下代碼示例為您展示了如何使用 FieldSchema 來定義各個字段的屬性,然后基于這些屬性構建 CollectionSchema,并最終創建 Collection 對象的過程。集合創建好后,便可執行數據插入、查詢等后續操作。

from pymilvus import FieldSchema, CollectionSchema, connections, DataType, Collection

conn = connections.connect(host="c-xxx.milvus.aliyuncs.com", port=19530, user="<yourUsername>", password="<yourPassword>")

# 定義集合字段(FieldSchema)。

# 主鍵字段:id,類型為INT64,用于唯一標識每條記錄。
id_field = FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, description="primary id")

# 年齡字段:age,類型為INT64,用于存儲年齡信息。
age_field = FieldSchema(name="age", dtype=DataType.INT64, description="age")

# 向量字段:embedding,類型為FLOAT_VECTOR,維度為128,用于存儲向量數據。
embedding_field = FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128, description="vector")

# 分區鍵字段:position,類型為VARCHAR,最大長度為256,用于進行數據分區。
position_field = FieldSchema(name="position", dtype=DataType.VARCHAR, max_length=256, is_partition_key=True)

# 使用定義好的字段構建CollectionSchema。
schema = CollectionSchema(fields=[id_field, age_field, embedding_field], auto_id=False, enable_dynamic_field=True, description="desc of a collection")

# 定義要創建的集合名稱。
collection_name = "demo_1"
# 使用定義好的Schema創建Collection對象。
collection = Collection(
    name=collection_name,
    schema=schema,
    using='default',  # 指定使用的連接名,默認為 'default'。
    shards_num=2  # 設置集合的分片數量,可根據實際需求調整。
)