このトピックでは、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 | ベクトルデータ型を設定します。有効な値:
|
fieldsSchema(Map<String, FieldType> fieldsSchem) | いいえ | - | フィールドを設定します。有効なデータ型:
|
fieldSchema(String key, FieldType value) | いいえ | - | |
metric(CollectionInfo.Metric metric) | いいえ | Metric.cosine | 距離メトリックを設定します。有効な値:
メトリックが |
timeout(Integer timeout) | いいえ | - |
|
build() | - | - |
|
コレクションの作成時にフィールドを事前に定義する利点の詳細については、スキーマフリー をご参照ください。
レスポンスパラメーター
Response<Void> オブジェクトが返されます。これには、次の表に示すように、操作結果が含まれています。
メソッド | タイプ | 説明 | 例 |
getCode() | int | 返されたステータスコード。詳細については、ステータスコード をご参照ください。 | 0 |
getMessage() | String | 返されたメッセージ。 | success |
getRequestId() | String | リクエストの一意の ID。 | 19215409-ea66-4db9-8764-26ce2eb5bb99 |
isSuccess() | Boolean | 操作が成功したかどうかを指定します。 | true |