Crate ruvector_collections

Crate ruvector_collections 

Source
Expand description

§Ruvector Collections

Multi-collection management with aliases for organizing vector databases.

§Features

  • Multiple Collections: Organize vectors into separate collections
  • Alias Management: Create aliases for collection names
  • Collection Statistics: Track collection metrics
  • Thread-safe: Concurrent access using DashMap
  • Persistence: Store collections on disk

§Example

use ruvector_collections::{CollectionManager, CollectionConfig};
use ruvector_core::types::{DistanceMetric, HnswConfig};
use std::path::PathBuf;

// Create a collection manager
let manager = CollectionManager::new(PathBuf::from("./collections"))?;

// Create a collection
let config = CollectionConfig {
    dimensions: 384,
    distance_metric: DistanceMetric::Cosine,
    hnsw_config: Some(HnswConfig::default()),
    quantization: None,
    on_disk_payload: true,
};

manager.create_collection("documents", config)?;

// Create an alias
manager.create_alias("current_docs", "documents")?;

// Get collection by name or alias
let collection = manager.get_collection("current_docs").unwrap();

Re-exports§

pub use collection::Collection;
pub use collection::CollectionConfig;
pub use collection::CollectionStats;
pub use error::CollectionError;
pub use error::Result;
pub use manager::CollectionManager;

Modules§

collection
Collection types and operations
error
Error types for collection management
manager
Collection manager for multi-collection operations