milvus-logo
LFAI
홈페이지
  • 사용자 가이드

기본 필드 및 자동 ID

기본 필드는 엔티티를 고유하게 식별합니다. 이 페이지에서는 서로 다른 두 데이터 유형의 기본 필드를 추가하는 방법과 Milvus가 기본 필드 값을 자동으로 할당하도록 설정하는 방법을 소개합니다.

개요

컬렉션에서 각 엔티티의 기본 키는 전 세계적으로 고유해야 합니다. 기본 필드를 추가할 때 데이터 유형을 명시적으로 VARCHAR 또는 INT64로 설정해야 합니다. 데이터 유형을 INT64로 설정하면 기본 키가 12345 와 유사한 정수여야 하고, 데이터 유형을 VARCHAR로 설정하면 기본 키가 my_entity_1234 와 유사한 문자열이어야 함을 나타냅니다.

또한 AutoID를 활성화하여 Milvus가 수신 엔티티에 대해 기본 키를 자동으로 할당하도록 할 수도 있습니다. 컬렉션에서 AutoID를 활성화한 후에는 엔티티를 삽입할 때 기본 키를 포함하지 마세요.

컬렉션의 기본 필드에는 기본값이 없으며 null이 될 수 없습니다.

Int64 기본 키 사용

Int64 유형의 기본 키를 사용하려면 datatypeDataType.INT64 로 설정하고 is_primarytrue 로 설정해야 합니다. 들어오는 엔티티의 기본 키를 할당하기 위해 Milvus도 필요한 경우 auto_idtrue 로 설정해야 합니다.

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
    }
}"

번역DeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?