الحقل الأساسي والمعرف التلقائي
يحدد الحقل الأساسي هوية الكيان بشكل فريد. تقدم هذه الصفحة كيفية إضافة الحقل الأساسي لنوعين مختلفين من البيانات، وكيفية تمكين ميلفوس من تخصيص قيم الحقل الأساسي تلقائياً.
نظرة عامة
في المجموعة، يجب أن يكون المفتاح الأساسي لكل كيان فريدًا عالميًا. عند إضافة الحقل الأساسي، تحتاج إلى تعيين نوع بياناته صراحةً إلى VARCHAR أو INT64. يشير تعيين نوع بياناته إلى INT64 إلى أن المفاتيح الأساسية يجب أن تكون عددًا صحيحًا مشابهًا لـ 12345
؛ يشير تعيين نوع بياناته إلى VARCHAR إلى أن المفاتيح الأساسية يجب أن تكون سلسلة مشابهة لـ my_entity_1234
.
يمكنك أيضًا تمكين AutoID لجعل Milvus يخصص المفاتيح الأساسية تلقائيًا للكيانات الواردة. بمجرد تمكين AutoID في مجموعتك، لا تقم بتضمين المفاتيح الأساسية عند إدراج الكيانات.
لا يحتوي الحقل الأساسي في المجموعة على قيمة افتراضية ولا يمكن أن يكون فارغًا.
استخدام المفاتيح الأساسية Int64
لاستخدام المفاتيح الأساسية من النوع Int64، تحتاج إلى تعيين datatype
إلى DataType.INT64
وتعيين is_primary
إلى true
. إذا كنت تحتاج أيضًا إلى أن يخصص ميلفوس المفاتيح الأساسية للكيانات الواردة، فقم أيضًا بتعيين auto_id
إلى true
.
from pymilvus import MilvusClient, DataType
schema = MilvusClient.create_schema()
schema.add_field(
field_name="my_id",
datatype=DataType.INT64,
# highlight-start
is_primary=True,
auto_id=True,
# highlight-end
)
import io.milvus.v2.common.DataType;
import io.milvus.v2.service.collection.request.AddFieldReq;
import io.milvus.v2.service.collection.request.CreateCollectionReq;
CreateCollectionReq.CollectionSchema schema = client.createSchema();
schema.addField(AddFieldReq.builder()
.fieldName("my_id")
.dataType(DataType.Int64)
// highlight-start
.isPrimaryKey(true)
.autoID(true)
// highlight-end
.build());
);
import { DataType } from "@zilliz/milvus2-sdk-node";
const schema = [
{
name: "pk",
description: "ID field",
data_type: DataType.VARCHAR,
is_primary_key: true,
max_length: 100,
},
];
// Go 缺失
export primaryField='{
"fieldName": "my_id",
"dataType": "Int64",
"isPrimary": true
}'
export schema="{
\"autoID\": true,
\"fields\": [
$primaryField
]
}"
استخدام المفاتيح الأساسية VarChar المتغيرة
لاستخدام مفاتيح VarChar الأساسية، بالإضافة إلى تغيير قيمة المعلمة data_type
إلى DataType.VARCHAR
، تحتاج أيضًا إلى تعيين المعلمة max_length
للحقل.
schema.add_field(
field_name="my_id",
datatype=DataType.VARCHAR,
# highlight-start
is_primary=True,
auto_id=True,
max_length=512,
# highlight-end
)
import io.milvus.v2.common.DataType;
import io.milvus.v2.service.collection.request.AddFieldReq;
schema.addField(AddFieldReq.builder()
.fieldName("my_id")
.dataType(DataType.VarChar)
// highlight-start
.isPrimaryKey(true)
.autoID(true)
.maxLength(512)
// highlight-end
.build());
schema.push({
name: "my_id",
data_type: DataType.VarChar,
// highlight-start
is_primary_key: true,
autoID: true,
maxLength: 512
// highlight-end
});
// Go 缺失
export primaryField='{
"fieldName": "my_id",
"dataType": "VarChar",
"isPrimary": true
}'
export schema="{
\"autoID\": true,
\"fields\": [
$primaryField
],
\"params\": {
\"max_length\": 512
}
}"