🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
الصفحة الرئيسية
  • دليل المستخدم
  • Home
  • Docs
  • دليل المستخدم

  • المخطط وحقول البيانات

  • الحقل الأساسي والمعرف التلقائي

الحقل الأساسي والمعرف التلقائي

يحدد الحقل الأساسي هوية الكيان بشكل فريد. تقدم هذه الصفحة كيفية إضافة الحقل الأساسي لنوعين مختلفين من البيانات، وكيفية تمكين ميلفوس من تخصيص قيم الحقل الأساسي تلقائياً.

نظرة عامة

في المجموعة، يجب أن يكون المفتاح الأساسي لكل كيان فريدًا عالميًا. عند إضافة الحقل الأساسي، تحتاج إلى تعيين نوع بياناته صراحةً إلى 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
    }
}"

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟