milvus-logo
LFAI
Home
  • Benutzerhandbuch

Primärfeld & AutoID

Das Primärfeld dient der eindeutigen Identifizierung einer Entität. Auf dieser Seite erfahren Sie, wie Sie das Primärfeld von zwei verschiedenen Datentypen hinzufügen können und wie Sie Milvus in die Lage versetzen, Primärfeldwerte automatisch zuzuordnen.

Übersicht

In einer Sammlung sollte der Primärschlüssel jeder Entität global eindeutig sein. Wenn Sie das Primärfeld hinzufügen, müssen Sie seinen Datentyp explizit auf VARCHAR oder INT64 einstellen. Die Einstellung des Datentyps auf INT64 bedeutet, dass die Primärschlüssel eine ganze Zahl ähnlich wie 12345 sein sollten; die Einstellung des Datentyps auf VARCHAR bedeutet, dass die Primärschlüssel eine Zeichenkette ähnlich wie my_entity_1234 sein sollten.

Sie können auch AutoID aktivieren, damit Milvus automatisch Primärschlüssel für eingehende Entitäten zuweist. Sobald Sie AutoID in Ihrer Sammlung aktiviert haben, sollten Sie beim Einfügen von Entitäten keine Primärschlüssel verwenden.

Das Primärfeld in einer Sammlung hat keinen Standardwert und kann nicht null sein.

Int64-Primärschlüssel verwenden

Um Primärschlüssel vom Typ Int64 zu verwenden, müssen Sie datatype auf DataType.INT64 und is_primary auf true setzen. Wenn Milvus auch die Primärschlüssel für die eingehenden Entitäten zuweisen soll, setzen Sie auto_id auf 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
    ]
}"

Verwendung von VarChar-Primärschlüsseln

Um VarChar-Primärschlüssel zu verwenden, müssen Sie nicht nur den Wert des Parameters data_type auf DataType.VARCHAR ändern, sondern auch den Parameter max_length für das Feld festlegen.

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

Übersetzt vonDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?