search_semantically/lib.rs
1#![allow(dead_code)]
2
3//! # search-semantically
4//!
5//! Embeddable semantic code search with multi-signal POEM ranking.
6//!
7//! Provides local, incremental code search combining BM25 full-text search,
8//! vector similarity via ONNX embeddings, path matching, symbol matching,
9//! import graph propagation, and git recency — ranked using Pareto-optimal
10//! Election Method (POEM).
11//!
12//! # Quick start
13//!
14//! ```no_run
15//! use search_semantically::SearchEngine;
16//! use std::path::PathBuf;
17//!
18//! let engine = SearchEngine::new(PathBuf::from("/path/to/project"));
19//! let results = engine.search("database connection handler", 20, None).unwrap();
20//! println!("{results}");
21//! ```
22
23mod chunker;
24mod db;
25mod embedder;
26mod engine;
27mod format;
28mod metrics;
29mod query_classifier;
30mod ranker;
31mod scanner;
32mod text_chunker;
33mod ts_chunker;
34mod util;
35mod vector_store;
36
37pub use db::StoredChunk;
38pub use embedder::DownloadCallback;
39pub use engine::SearchEngine;
40pub use format::{SearchResult, format_results};
41pub use query_classifier::QueryType;
42pub use ranker::MetricScores;
43pub use scanner::FileType;
44pub use text_chunker::TextChunk;