すべてのプロダクト
Search
ドキュメントセンター

DashVector:コレクションの作成

最終更新日:Jan 08, 2025

このトピックでは、SDK for Java を使用してコレクションを作成する方法について説明します。

前提条件

  • クラスターが作成されていること。詳細については、クラスターの作成 をご参照ください。

  • APIキーが取得されていること。詳細については、APIキーの管理 をご参照ください。

  • 最新バージョンの SDK がインストールされていること。詳細については、DashVector SDK のインストール をご参照ください。

API 定義

// class DashVectorClient

// コレクションを名前とベクトル次元数を指定して作成します。
public Response<Void> create(String name, int dimension);

// CreateCollectionRequest オブジェクトを使用してコレクションを作成します。
public Response<Void> create(CreateCollectionRequest request);

説明

コードを正しく実行するには、サンプルコード内の YOUR_API_KEY を実際の API キーに、YOUR_CLUSTER_ENDPOINT をクラスターのエンドポイントに置き換える必要があります。

import com.aliyun.dashvector.DashVectorClient;
import com.aliyun.dashvector.common.DashVectorException;
import com.aliyun.dashvector.models.requests.CreateCollectionRequest;
import com.aliyun.dashvector.models.responses.Response;
import com.aliyun.dashvector.proto.CollectionInfo;
import com.aliyun.dashvector.proto.FieldType;

public class Main {
    public static void main(String[] args) throws DashVectorException {
        DashVectorClient client = new DashVectorClient("YOUR_API_KEY", "YOUR_CLUSTER_ENDPOINT");

        // CreateCollectionRequest オブジェクトを使用してコレクションを作成します。
      
        // コレクションを作成し、名前を quickstart、ベクトル次元数を 4、
        // ベクトルデータ型をデフォルト値の DataType.FLOAT、
        // 距離メトリックを dotproduct に設定します。
        // name、weight、および age フィールドを事前に定義し、それぞれのデータ型を STRING、FLOAT、および INT に設定します。
        CreateCollectionRequest request = CreateCollectionRequest.builder()
            .name("quickstart")
            .dimension(4)
            .metric(CollectionInfo.Metric.dotproduct)
            .dataType(CollectionInfo.DataType.FLOAT)
            .fieldSchema("name", FieldType.STRING)
            .fieldSchema("weight", FieldType.FLOAT)
            .fieldSchema("age", FieldType.INT)
            .build();
      
        Response<Void> response = client.create(request);

        System.out.println(response);
        // 出力例:
        // {"code":0,"message":"","requestId":"883716a3-32f8-4220-ae54-245fa9b87bf0"}
    }
}

リクエストパラメーター

CreateCollectionRequestBuilder インスタンスを使用して、CreateCollectionRequest オブジェクトを構築できます。 次の表に、インスタンスによって呼び出すことができるメソッドを示します。

メソッド

必須

デフォルト値

説明

name(String name)

はい

-

作成するコレクションの名前を設定します。

dimension(int dimension)

はい

-

ベクトル次元数を設定します。

dataType(CollectionInfo.DataType dataType)

いいえ

DataType.FLOAT

ベクトルデータ型を設定します。有効な値:

  • DataType.INT

  • DataType.FLOAT

fieldsSchema(Map<String, FieldType> fieldsSchem)

いいえ

-

フィールドを設定します。有効なデータ型:

  • FieldType.BOOL

  • FieldType.STRING

  • FieldType.INT

  • FieldType.FLOAT

fieldSchema(String key, FieldType value)

いいえ

-

metric(CollectionInfo.Metric metric)

いいえ

Metric.cosine

距離メトリックを設定します。有効な値:

  • Metric.cosine

  • Metric.euclidean

  • Metric.dotproduct

メトリックが cosine の場合、datatype() メソッドはフィールドデータ型を FLOAT に設定する必要があります。

timeout(Integer timeout)

いいえ

-

  • タイムアウト期間を設定します。timeout を null に設定すると、メソッドは同期モードで動作し、コレクションが正常に作成されたときにレスポンスを返します。

  • timeout を -1 に設定すると、メソッドは非同期モードで動作します。

  • timeout を 0 以上の値に設定すると、メソッドは同期モードで動作し、指定されたタイムアウト期間内に操作結果を待機します。指定されたタイムアウト期間内にコレクションが作成されなかった場合、メソッドはタイムアウトエラーを返します。

build()

-

-

CreateCollectionRequest オブジェクトを構築します。

説明

コレクションの作成時にフィールドを事前に定義する利点の詳細については、スキーマフリー をご参照ください。

レスポンスパラメーター

説明

Response<Void> オブジェクトが返されます。これには、次の表に示すように、操作結果が含まれています。

メソッド

タイプ

説明

getCode()

int

返されたステータスコード。詳細については、ステータスコード をご参照ください。

0

getMessage()

String

返されたメッセージ。

success

getRequestId()

String

リクエストの一意の ID。

19215409-ea66-4db9-8764-26ce2eb5bb99

isSuccess()

Boolean

操作が成功したかどうかを指定します。

true