Skip to main content

Crate vector

Crate vector 

Source
Expand description

OpenData Vector Database

A vector database built on SlateDB with SPANN-style indexing for efficient approximate nearest neighbor search.

§Example

let config = Config {
    dimensions: 384,
    distance_metric: DistanceMetric::L2,
    flush_interval: Duration::from_secs(60),
    ..Default::default()
};
let db = VectorDb::open(config).await?;

let vectors = vec![
    Vector::builder("product-001", vec![0.1; 384])
        .attribute("category", "electronics")
        .attribute("price", 99i64)
        .build(),
];

db.write(vectors).await?;
db.flush().await?;

Re-exports§

pub use db::VectorDb;
pub use db::VectorDbRead;
pub use model::Attribute;
pub use model::AttributeValue;
pub use model::Config;
pub use model::DistanceMetric;
pub use model::FieldSelection;
pub use model::FieldType;
pub use model::Filter;
pub use model::MetadataFieldSpec;
pub use model::Query;
pub use model::ReaderConfig;
pub use model::SearchResult;
pub use model::Vector;
pub use model::VectorBuilder;
pub use reader::VectorDbReader;

Modules§

db
Vector database implementation with atomic flush semantics.
delta
In-memory delta for buffering vector writes before flush.
distance
Distance computation functions for vector similarity.
flusher
Flusher implementation for VectorDb.
hnsw
HNSW graph implementations for centroid search.
model
Public API types for the vector database (RFC 0002).
reader
Read-only client for the vector database.
serde
Serialization/deserialization for vector database storage.

Enums§

Error
Error type for OpenData Vector operations.

Type Aliases§

Result
Result type alias for OpenData Vector operations.