use serde_json::json;
use veclite_db::VecLite;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let db_path = "example.vec";
let mut db = VecLite::open(db_path)?;
db.insert(
"doc_1",
vec![0.1, 0.5, 0.8],
Some(json!({"type": "note", "title": "Hello"})),
)?;
db.insert(
"doc_2",
vec![0.9, 0.1, 0.1],
Some(json!({"type": "doc", "title": "World"})),
)?;
let results = db
.build_search(&[0.1, 0.5, 0.7])
.filter("type", "note")
.top_k(5)
.execute()?;
for r in results {
println!("Match: {} (Score: {:.4})", r.id, r.score);
}
Ok(())
}