Practical overview
When it fits
Use Hora when your application already has numeric vectors and needs an index for finding similar items, such as image features or recommendation data. It provides retrieval algorithms rather than embedding generation or a complete hosted search application.
Who it is for
- Rust developers building vector-similarity retrieval into an application or service.
- Machine-learning and search developers with numeric vectors or embeddings who need nearest-neighbor lookup.
- Teams exploring image search or recommendation retrieval using approximate-neighbor indexes.
Documented uses
- Index numeric vectors for similarity retrieval.
- Search for the nearest items to a query vector.
- Choose among documented index types and distance measures for a retrieval component.
- Integrate approximate-neighbor search into a Rust, Python or JavaScript/WebAssembly project.
Requirements & limits
The project is available as a public GitHub repository under the Apache-2.0 license. Its README documents package installation for Rust, Python and JavaScript/WebAssembly.
- The Rust README provides concrete steps for building an HNSW index and querying it; the demonstrated example uses Euclidean distance.
- The README lists several index choices, but marks the random-projection-tree option as work in progress.
- Python and JavaScript/WebAssembly have installation instructions; Java is listed as supported, while Go, Ruby, Swift, R and Julia are marked work in progress.
- The project describes SIMD acceleration and multithreading, but workload-specific performance should not be inferred from those claims.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build an HNSW index and search vectors in Rust
Follow the documented Rust example to add fixed-dimension vectors to an HNSW index and retrieve nearest neighbors.
Before you start
- Rust project with Hora added as a dependency in Cargo.toml.
- Numeric vectors with a consistent dimension; the example uses f32 values and a 64-dimensional index.
Steps
Add
hora = "0.1.1"under[dependencies]in Cargo.toml.Create an HNSW index for the vector dimension using default HNSW parameters.
Add each sample vector with its associated item identifier.
Build the index using Euclidean distance, then call search with a query vector and desired neighbor count.
Expected outcome
An HNSW index that returns approximate nearest neighbors for a query vector, as illustrated by the Rust example.
Guide limitations
- The example uses Euclidean distance and default HNSW parameters; it does not explain parameter tuning or persistence.
- The README example is illustrative and is not a performance or compatibility guarantee.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 30 September 2026
- Original website title
- hora-search/hora · Official homepage title · retained in its source language

