全部产品
Search
文档中心

DashVector:Definisi tipe data DashVector

更新时间:Mar 12, 2026

DashVector menggunakan tipe data berikut untuk merepresentasikan dokumen, koleksi, dan statusnya. Halaman ini menyediakan definisi dalam Python dan Java untuk setiap tipe.

Doc

Doc merupakan satu catatan dalam koleksi DashVector. Tipe ini mengaitkan vektor dengan ID dan metadata opsional:

{
    "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                                            # Kunci primary.
    vector: Union[List[int], List[float], np.ndarray]  # Vektor.
    sparse_vector: Optional[Dict[int, float]] = None   # Vektor jarang.
    fields: Optional[FieldDataDict] = None             # Bidang kustom dalam dokumen.
    score: float = 0.0                                 # Kemiripan antar vektor.

Java

@Data
@Builder
public class Doc {
  // Kunci primary.
  @NonNull private String id;
  // Vektor.
  @NonNull private Vector vector;
  // Vektor jarang.
  private TreeMap<Integer, Float> sparseVector;
  // Bidang kustom dalam dokumen.
  @Builder.Default private Map<String, Object> fields = new HashMap<>();
  // Kemiripan antar vektor.
  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);
  }
}

Referensi bidang

BidangTipe (Python)Tipe (Java)Deskripsi
idstrStringKunci primary yang secara unik mengidentifikasi dokumen.
vectorUnion[List[int], List[float], np.ndarray]VectorVektor padat.
sparse_vectorOptional[Dict[int, float]]TreeMap<Integer, Float>Vektor jarang.
fieldsOptional[FieldDataDict]Map<String, Object>Pasangan kunci-nilai kustom untuk penyaringan metadata.
scorefloat (default: 0.0)floatKemiripan antar vektor.

Tipe data bidang yang didukung

TipePythonJava
StringstrString
IntegerintInteger
FloatfloatFloat
BooleanboolBoolean

CollectionMeta

CollectionMeta menjelaskan konfigurasi koleksi: nama, dimensi vektor, metrik jarak, skema bidang, dan tata letak partisi.

Python

@dataclass(frozen=True)
class CollectionMeta(object):
    name: str                      # Nama koleksi.
    dimension: int                 # Jumlah dimensi vektor.
    dtype: str                     # Tipe data vektor. Nilai valid: float dan int.
    metric: str                    # Metrik jarak. Nilai valid: euclidean, dotproduct, dan cosine.
    status: Status                 # Status koleksi.
    fields: Dict[str, str]         # Bidang dalam koleksi. Tipe data bidang yang didukung: float, bool, int, dan str.
    partitions: Dict[str, Status]  # Informasi tentang partisi dalam koleksi.

Java

@Getter
public class CollectionMeta {
  // Nama koleksi.
  private final String name;
  // Jumlah dimensi vektor.
  private final int dimension;
  // Tipe data vektor. Nilai valid: float dan int.
  private final CollectionInfo.DataType dataType;
  // Metrik jarak. Nilai valid: euclidean, dotproduct, dan cosine.
  private final CollectionInfo.Metric metric;
  // Status koleksi.
  private final String status;
  // Bidang dalam koleksi. Tipe data bidang yang didukung: float, bool, int, dan str.
  private final Map<String, FieldType> fieldsSchema;
  // Informasi tentang partisi dalam koleksi.
  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();
  }
}

Referensi bidang

BidangTipe (Python)Tipe (Java)Deskripsi
namestrStringNama koleksi.
dimensionintintJumlah dimensi vektor.
dtypestrCollectionInfo.DataTypeTipe data vektor dalam koleksi. Nilai valid: float, int.
metricstrCollectionInfo.MetricMetrik jarak untuk pencarian kemiripan. Nilai valid: euclidean, dotproduct, cosine.
statusStatusStringStatus saat ini dari koleksi. Lihat Status.
fieldsDict[str, str]Map<String, FieldType>Skema bidang kustom yang didefinisikan untuk koleksi. Tipe data yang didukung: float, bool, int, str.
partitionsDict[str, Status]Map<String, Status>Pemetaan nama partisi ke statusnya saat ini.

Metrik jarak

MetrikNilai API
Jarak Euclideaneuclidean
Dot productdotproduct
Kemiripan Cosinecosine

Tipe data vektor

Tipe dataNilai API
Floatfloat
Integerint

CollectionStats

CollectionStats melaporkan jumlah dokumen dan progres pembuatan indeks suatu koleksi.

Python

@dataclass(frozen=True)
class CollectionStats(object):
    total_doc_count: int                    # Total jumlah dokumen yang dimasukkan ke dalam koleksi.
    index_completeness: float               # Kelengkapan penyisipan data ke dalam koleksi.
    partitions: Dict[str, PartitionStats]   # Informasi tentang partisi dalam koleksi.

Java

@Getter
public class CollectionStats {
  // Total jumlah dokumen yang dimasukkan ke dalam koleksi.
  private final long totalDocCount;
  // Kelengkapan penyisipan data ke dalam koleksi.
  private final float indexCompleteness;
  // Informasi tentang partisi dalam koleksi.
  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)));
  }
}

Referensi bidang

BidangTipe (Python)Tipe (Java)Deskripsi
total_doc_countintlongTotal jumlah dokumen yang dimasukkan ke dalam koleksi.
index_completenessfloatfloatKelengkapan penyisipan data ke dalam koleksi.
partitionsDict[str, PartitionStats]Map<String, PartitionStats>Pemetaan nama partisi ke statistiknya. Lihat PartitionStats.

PartitionStats

PartitionStats melaporkan jumlah dokumen untuk satu partisi dalam koleksi.

Python

@dataclass(frozen=True)
class PartitionStats(object):
    total_doc_count: int                    # Total jumlah dokumen dalam partisi.

Java

@Getter
public class PartitionStats {
  // Total jumlah dokumen dalam partisi.
  private final long totalDocCount;

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

Referensi bidang

BidangTipe (Python)Tipe (Java)Deskripsi
total_doc_countintlongTotal jumlah dokumen dalam partisi.

Status

Enum Status mendefinisikan status siklus hidup koleksi atau partisi.

class Status(IntEnum):
    INITIALIZED = 0                        # Koleksi atau partisi sedang dibuat.
    SERVING = 1                            # Koleksi atau partisi dalam layanan.
    DROPPING = 2                           # Koleksi atau partisi sedang dihapus.
    ERROR = 3                              # Koleksi atau partisi mengalami anomali.
NilaiIntegerDeskripsi
INITIALIZED0Koleksi atau partisi sedang dibuat.
SERVING1Koleksi atau partisi dalam layanan.
DROPPING2Koleksi atau partisi sedang dihapus.
ERROR3Koleksi atau partisi mengalami error.

Alias tipe (Python)

SDK Python mendefinisikan alias tipe berikut:

long = NewType("long", int)

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

FieldDataDict = Dict[str, FieldDataType]

VectorValueType = Union[List[int], List[float], np.ndarray]
AliasDefinisiDeskripsi
longNewType("long", int)Tipe integer yang diperluas.
FieldDataTypeUnion[long, str, int, float, bool]Tipe nilai yang diterima untuk bidang dokumen kustom.
FieldDataDictDict[str, FieldDataType]Tipe parameter fields dalam Doc.
VectorValueTypeUnion[List[int], List[float], np.ndarray]Tipe yang diterima untuk parameter vector dalam Doc.