milvus-logo
LFAI
フロントページへ
  • ユーザーガイド

プライマリ・フィールドとAutoID

プライマリフィールドはエンティティを一意に識別します。このページでは、2つの異なるデータタイプのプライマリフィールドを追加する方法と、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
    }
}"

翻訳DeepL

Try Managed Milvus for Free

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

Get Started
フィードバック

このページは役に立ちましたか ?