Installation
Add Laurus to Your Project
Add laurus and tokio (async runtime) to your Cargo.toml:
[dependencies]
laurus = "0.1.0"
tokio = { version = "1", features = ["full"] }
Feature Flags
Laurus ships with a minimal default feature set. Enable additional features as needed:
| Feature | Description | Use Case |
|---|---|---|
| (default) | Core library (lexical search, storage, analyzers — no embedding) | Keyword search only |
embeddings-candle | Local BERT embeddings via Hugging Face Candle | Vector search without external API |
embeddings-openai | OpenAI API embeddings (text-embedding-3-small, etc.) | Cloud-based vector search |
embeddings-multimodal | CLIP embeddings for text + image via Candle | Multimodal (text-to-image) search |
embeddings-all | All embedding features above | Full embedding support |
Examples
Lexical search only (no embeddings needed):
[dependencies]
laurus = "0.1.0"
Vector search with local model (no API key required):
[dependencies]
laurus = { version = "0.1.0", features = ["embeddings-candle"] }
Vector search with OpenAI:
[dependencies]
laurus = { version = "0.1.0", features = ["embeddings-openai"] }
Everything:
[dependencies]
laurus = { version = "0.1.0", features = ["embeddings-all"] }
Verify Installation
Create a minimal program to verify that Laurus compiles:
use laurus::Result;
#[tokio::main]
async fn main() -> Result<()> {
println!("Laurus version: {}", laurus::VERSION);
Ok(())
}
cargo run
If you see the version printed, you are ready to proceed to the Quick Start.