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

DashVector:DashVector のデータ型の定義

最終更新日:Mar 12, 2026

DashVector は、ドキュメント、コレクション、およびそれらの状態を表すために、以下のデータ型を使用します。このページでは、各型について Python と Java 両方の定義を説明します。

Doc

Doc は DashVector コレクション内の単一のレコードです。ベクターと ID、およびオプションのメタデータをペアにします。

{
    "id": "doc-001",
    "vector": [0.1, 0.2, 0.3, 0.4],
    "sparse_vector": {"10": 0.5, "25": 0.8},
    "fields": {"category": "article", "year": 2024},
    "score": 0.95
}

Python

@dataclass(frozen=True)
class Doc(object):
    id: str                                            # プライマリキー。
    vector: Union[List[int], List[float], np.ndarray]  # ベクター。
    sparse_vector: Optional[Dict[int, float]] = None   # 疎ベクトル。
    fields: Optional[FieldDataDict] = None             # ドキュメント内のカスタムフィールド。
    score: float = 0.0                                 # ベクター間の類似性。

Java

@Data
@Builder
public class Doc {
  // プライマリキー。
  @NonNull private String id;
  // ベクター。
  @NonNull private Vector vector;
  // 疎ベクトル。
  private TreeMap<Integer, Float> sparseVector;
  // ドキュメント内のカスタムフィールド。
  @Builder.Default private Map<String, Object> fields = new HashMap<>();
  // ベクター間の類似性。
  private float score;

  public void addField(String key, String value) {
    this.fields.put(key, value);
  }

  public void addField(String key, Integer value) {
    this.fields.put(key, value);
  }

  public void addField(String key, Float value) {
    this.fields.put(key, value);
  }

  public void addField(String key, Boolean value) {
    this.fields.put(key, value);
  }
}

フィールドリファレンス

フィールド型 (Python)型 (Java)説明
idstrStringドキュメントを一意に識別するプライマリキー。
vectorUnion[List[int], List[float], np.ndarray]Vector密ベクトル。
sparse_vectorOptional[Dict[int, float]]TreeMap<Integer, Float>疎ベクトル。
fieldsOptional[FieldDataDict]Map<String, Object>メタデータフィルタリング用のカスタムのキーと値のペア。
scorefloat (デフォルト: 0.0)floatベクター間の類似性。

サポートされているフィールドデータ型

PythonJava
StringstrString
IntegerintInteger
FloatfloatFloat
BooleanboolBoolean

CollectionMeta

CollectionMeta は、コレクションの構成 (名前、ベクターのディメンション、距離メトリック、フィールドスキーマ、パーティションレイアウト) を記述します。

Python

@dataclass(frozen=True)
class CollectionMeta(object):
    name: str                      # コレクションの名前。
    dimension: int                 # ベクターのディメンション数。
    dtype: str                     # ベクターのデータ型。有効な値: float および int。
    metric: str                    # 距離メトリック。有効な値: euclidean、dotproduct、cosine。
    status: Status                 # コレクションのステータス。
    fields: Dict[str, str]         # コレクション内のフィールド。サポートされているフィールドのデータ型: float、bool、int、str。
    partitions: Dict[str, Status]  # コレクション内のパーティションに関する情報。

Java

@Getter
public class CollectionMeta {
  // コレクションの名前。
  private final String name;
  // ベクターのディメンション数。
  private final int dimension;
  // ベクターのデータ型。有効な値: float および int。
  private final CollectionInfo.DataType dataType;
  // 距離メトリック。有効な値: euclidean、dotproduct、cosine。
  private final CollectionInfo.Metric metric;
  // コレクションのステータス。
  private final String status;
  // コレクション内のフィールド。サポートされているフィールドのデータ型: float、bool、int、str。
  private final Map<String, FieldType> fieldsSchema;
  // コレクション内のパーティションに関する情報。
  private final Map<String, Status> partitionStatus;

  public CollectionMeta(CollectionInfo collectionInfo) {
    this.name = collectionInfo.getName();
    this.dimension = collectionInfo.getDimension();
    this.dataType = collectionInfo.getDtype();
    this.metric = collectionInfo.getMetric();
    this.status = collectionInfo.getStatus().name();
    this.fieldsSchema = collectionInfo.getFieldsSchemaMap();
    this.partitionStatus = collectionInfo.getPartitionsMap();
  }
}

フィールドリファレンス

フィールド型 (Python)型 (Java)説明
namestrStringコレクションの名前。
dimensionintintベクターのディメンション数。
dtypestrCollectionInfo.DataTypeコレクション内のベクターのデータ型。有効な値: floatint
metricstrCollectionInfo.Metric類似検索のための距離メトリック。有効な値: euclideandotproductcosine
statusStatusStringコレクションの現在のステータス。「Status」をご参照ください。
fieldsDict[str, str]Map<String, FieldType>コレクションに定義されたカスタムフィールドのスキーマ。サポートされているデータ型: floatboolintstr
partitionsDict[str, Status]Map<String, Status>パーティション名とその現在のステータスのマッピング。

距離メトリック

メトリックAPI 値
ユークリッド距離euclidean
ドット積dotproduct
コサイン類似度cosine

ベクターのデータ型

データ型API 値
フロートfloat
整数int

CollectionStats

CollectionStats は、コレクションのドキュメント数とインデックス構築の進捗をレポートします。

Python

@dataclass(frozen=True)
class CollectionStats(object):
    total_doc_count: int                    # コレクションに挿入されたドキュメントの総数。
    index_completeness: float               # コレクションへのデータ挿入の完全性。
    partitions: Dict[str, PartitionStats]   # コレクション内のパーティションに関する情報。

Java

@Getter
public class CollectionStats {
  // コレクションに挿入されたドキュメントの総数。
  private final long totalDocCount;
  // コレクションへのデータ挿入の完全性。
  private final float indexCompleteness;
  // コレクション内のパーティションに関する情報。
  private final Map<String, PartitionStats> partitions;

  public CollectionStats(StatsCollectionResponse.CollectionStats collectionStats) {
    this.totalDocCount = collectionStats.getTotalDocCount();
    this.indexCompleteness = collectionStats.getIndexCompleteness();
    this.partitions = new HashMap<>();
    collectionStats
        .getPartitionsMap()
        .forEach((key, value) -> this.partitions.put(key, new PartitionStats(value)));
  }
}

フィールドリファレンス

フィールド型 (Python)型 (Java)説明
total_doc_countintlongコレクションに挿入されたドキュメントの総数。
index_completenessfloatfloatコレクションへのデータ挿入の完全性。
partitionsDict[str, PartitionStats]Map<String, PartitionStats>パーティション名とその統計のマッピング。「PartitionStats」をご参照ください。

PartitionStats

PartitionStats は、コレクション内の単一パーティションのドキュメント数をレポートします。

Python

@dataclass(frozen=True)
class PartitionStats(object):
    total_doc_count: int                    # パーティション内のドキュメントの総数。

Java

@Getter
public class PartitionStats {
  // パーティション内のドキュメントの総数。
  private final long totalDocCount;

  public PartitionStats(com.aliyun.dashvector.proto.PartitionStats partitionStats) {
    this.totalDocCount = partitionStats.getTotalDocCount();
  }
}

フィールドリファレンス

フィールド型 (Python)型 (Java)説明
total_doc_countintlongパーティション内のドキュメントの総数。

Status

The Status enum は、コレクションまたはパーティションのライフサイクルステータスを定義します。

class Status(IntEnum):
    INITIALIZED = 0                        # コレクションまたはパーティションは作成中です。
    SERVING = 1                            # コレクションまたはパーティションはサービス中です。
    DROPPING = 2                           # コレクションまたはパーティションは削除中です。
    ERROR = 3                              # コレクションまたはパーティションは異常です。
整数説明
INITIALIZED0コレクションまたはパーティションは作成中です。
SERVING1コレクションまたはパーティションはサービス中です。
DROPPING2コレクションまたはパーティションは削除中です。
ERROR3コレクションまたはパーティションでエラーが発生しました。

型エイリアス (Python)

Python SDK は、以下の型エイリアスを定義します。

long = NewType("long", int)

FieldDataType = Union[long, str, int, float, bool]

FieldDataDict = Dict[str, FieldDataType]

VectorValueType = Union[List[int], List[float], np.ndarray]
エイリアス定義説明
longNewType("long", int)拡張整数型。
FieldDataTypeUnion[long, str, int, float, bool]ドキュメントのカスタムフィールドで受け入れられる値の型。
FieldDataDictDict[str, FieldDataType]fieldsDoc パラメーターの型。
VectorValueTypeUnion[List[int], List[float], np.ndarray]ベクター パラメーターで許容される型は、Doc で指定されます。