sapphire-retrieve
Full-text and semantic search library extracted from sapphire-journal.
What this crate provides
- FTS5 — trigram full-text search over a SQLite database (
RetrieveDb::search_fts) - Vector search — approximate nearest-neighbour search via sqlite-vec or LanceDB (
RetrieveDb::search_similar) - Chunker — splits documents into overlapping text chunks for embedding (
chunker::chunk_document) - Embedder trait — pluggable embedding backends (
build_embedder)openai— OpenAI-compatible REST APIollama— local Ollama serverfastembed(feature:fastembed-embed) — local ONNX inference, no server required
- Config types —
RetrieveConfig,VectorDb,EmbeddingConfiginsapphire_retrieve::config - LanceDB store (feature:
lancedb-store) — high-performance columnar vector store
Features
| Feature | Default | Description |
|---|---|---|
sqlite-store |
no | SQLite FTS5 + sqlite-vec backend |
lancedb-store |
yes | LanceDB vector backend |
fastembed-embed |
yes | Local ONNX embedding via fastembed |
License
MIT OR Apache-2.0