vectus 0.1.38

A vector database implemented in Rust for learning purposes.
Documentation
# Vectus (Alpha)

**Vectus** is a high-performance, graph-based vector database built from scratch in Rust. It provides efficient similarity search capabilities for large-scale vector data, making it ideal for applications like recommendation systems, image retrieval, natural language processing, and more.

Vectus uses a custom implementation of the **Hierarchical Navigable Small World (HNSW)** algorithm, allowing for scalable and fast nearest neighbor search across high-dimensional spaces. It includes advanced indexing techniques, such as graph-based structures and key-value store functionalities, all built with Rust for optimal performance.

## Features

-   **Graph-based Indexing**: Efficient similarity search using the HNSW algorithm.
-   **Customizable Storage**: Store vector embeddings and metadata in a compact, efficient format.
-   **High-speed Queries**: Designed for real-time applications with prioritized speed over memory usage.
-   **Scalable Insertion**: Supports insertion of millions of vectors with logarithmic scaling on search times.
-   **Key-Value Store Integration**: Similar to **sled**, with custom support for vector embeddings.
-   **Normalization and Custom Metric Support**: Allows for flexible distance measures (e.g., cosine similarity).

## Key Components

### HNSW (Hierarchical Navigable Small World)

Vectus employs the HNSW algorithm for fast and scalable nearest-neighbor searches in high-dimensional vector spaces. The implementation prioritizes speed, with graph-based indexing for efficient search operations.

### Vector Storage

Vectors are stored efficiently and can be written to disk in an organized, retrievable manner. This supports both in-memory and persistent storage solutions, making Vectus adaptable for various use cases.

### Customizable Distance Metrics

Vectus provides flexibility in defining custom distance metrics or normalization factors, allowing users to optimize search results based on specific needs.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.