FieldSchema
FieldSchema インスタンスは、collection 内の特定のフィールドのデータ型および関連属性を定義します。
io.milvus.v2.service.collection.request.CreateCollectionReq.FieldSchema
Constructor
フィールド名、データ型、その他のパラメータを定義して、フィールドのスキーマを構築します。
CreateCollectionReq.FieldSchema.builder()
.name(String name)
.description(String description)
.dataType(DataType dataType)
.maxLength(Integer maxLength)
.dimension(Integer dimension)
.isPrimaryKey(Boolean isPrimaryKey)
.isPartitionKey(Boolean isPartitionKey)
.isClusteringKey(Boolean isClusteringKey)
.autoID(Boolean autoID)
.isNullable(Boolean isNullable)
.defaultValue(Object defaultValue)
.enableAnalyzer(Boolean enableAnalyzer)
.analyzerParams(Map<String, Object> analyzerParams)
.enableMatch(Boolean enableMatch)
.typeParams(Map<String, String> typeParams)
.multiAnalyzerParams(Map<String, Object> multiAnalyzerParams)
.externalField(String externalField)
.build();
BUILDER METHODS:
-
name(String name)-フィールドの名前です。
-
description(String description)-フィールドの説明です。
-
dataType(DataType dataType)-フィールドのデータ型です。各フィールドのデータ型を選択する際には、次のオプションから選べます。主キー フィールド — DataType.Int64 または DataType.VarChar を使用します。scalar フィールド — DataType.Bool、DataType.Int8、DataType.Int16、DataType.Int32、DataType.Int64、DataType.Float、DataType.Double、DataType.VarChar、DataType.JSON、または DataType.Array から選択します。vector フィールド — DataType.BinaryVector または DataType.FloatVector を選択します。
-
maxLength(Integer maxLength)-値に含めることができる最大文字数です。このフィールドの dataType が DataType.VarChar に設定されている場合に必須です。
-
dimension(Integer dimension)-値が持つべき次元数です。このフィールドの dataType が DataType.FloatVector に設定されている場合に必須です。
-
isPrimaryKey(Boolean isPrimaryKey)-現在のフィールドが主フィールドかどうかを示します。これを True に設定すると、現在のフィールドが主フィールドになります。
-
isPartitionKey(Boolean isPartitionKey)-現在のフィールドが partition-key フィールドかどうかを示します。これを True に設定すると、現在のフィールドが partition key になります。
-
isClusteringKey(Boolean isClusteringKey)-現在のフィールドが clustering key かどうかを示します。clustering key は、ディスク上のセグメントのグループ化を制御し、このフィールドでフィルタするクエリを高速化します。
-
autoID(Boolean autoID)-主フィールドの自動インクリメントを許可するかどうかを示します。これを True に設定すると、主フィールドは自動インクリメントになります。この場合、エラーを避けるため、挿入するデータに主フィールドを含めてはいけません。このパラメータは、isPrimaryKey が True に設定されているフィールドで設定してください。
-
elementType(DataType elementType)-array フィールド内の要素のデータ型です。このフィールドの dataType が DataType.Array に設定されている場合に必須です。
-
maxCapacity(Integer maxCapacity)-array フィールドに含めることができる要素の最大数です。このフィールドの dataType が DataType.Array に設定されている場合に必須です。
-
isNullable(Boolean isNullable)-このフィールドで
null値を許可します。デフォルト:false。詳細については、Nullable & Default を参照してください。 -
defaultValue(Object defaultValue)-挿入時にフィールドが存在しない場合に使用されるデフォルト値を設定します。ランタイム型は
dataTypeと一致している必要があります。 -
enableAnalyzer(Boolean enableAnalyzer)-指定した
VARCHARフィールドに対してテキスト解析を有効にするかどうかを示します。trueに設定すると、Milvus はフィールドのテキスト内容をトークン化してフィルタリングするテキスト analyzer を使用します。フルテキスト検索に必須です。 -
analyzerParams(Map<String, Object> analyzerParams)-DataType.VarCharフィールドに対するフィールド単位の analyzer 設定(tokenizer、filters)です。enableAnalyzerと組み合わせて使用します。 -
enableMatch(Boolean enableMatch)-指定した
VARCHARフィールドに対してキーワードマッチングを有効にするかどうかを示します。trueの場合、Milvus はそのフィールドに対して inverted index を作成し、高速かつ効率的なキーワード検索を可能にします。enableMatchはenableAnalyzerと連携して動作し、構造化された用語ベースのテキスト検索を提供します。 -
typeParams(Map<String, String> typeParams)-専用の builder メソッドとして公開されていない汎用的な型ごとのパラメータです。指定すると、ここでの値が上で設定した対応するパラメータ値を上書きします。
-
multiAnalyzerParams(Map<String, Object> multiAnalyzerParams)-複数の analyzer をテキスト フィールドに設定し、そのテキスト フィールドに多言語ドキュメントを保存できるようにする多言語 analyzer です。
-
externalField(String externalField)-この Milvus フィールドを、スキーマの
externalSourceで識別される外部ソース内のカラムにマッピングします。外部 collection に使用されます。
RETURN TYPE:
FieldSchema
RETURNS:
FieldSchema オブジェクト。
EXCEPTIONS:
-
MilvusClientExceptions
この操作中に何らかのエラーが発生した場合に、この例外がスローされます。
Example
// define a id field with autoID set to false
CreateCollectionReq.FieldSchema fieldSchema = CreateCollectionReq.FieldSchema.builder()
.name("id")
.dataType(DataType.Int64)
.isPrimaryKey(Boolean.TRUE)
.autoID(Boolean.FALSE)
.build();