Rust API reference · Kjarni 0.2.8
kjarni::searcher
SearchOptions
pub struct SearchOptions
Search options
Fields
pub mode: Option<SearchMode>,: Search mode (default: Hybrid)pub top_k: Option<usize>,: Number of results (default: 10)pub rerank: Option<bool>,: Use reranker if available (default: true if configured)pub threshold: Option<f32>,: Minimum score thresholdpub filter: Option<MetadataFilter>,: Metadata filter
new
pub fn new() -> Self
mode
pub fn mode(mut self, m: SearchMode) -> Self
top_k
pub fn top_k(mut self, k: usize) -> Self
rerank
pub fn rerank(mut self, r: bool) -> Self
threshold
pub fn threshold(mut self, t: f32) -> Self
filter
pub fn filter(mut self, f: MetadataFilter) -> Self
source
pub fn source(mut self, pattern: &str) -> Self
Filter by source pattern
Searcher
pub struct Searcher
builder
pub fn builder(model: &str) -> SearcherBuilder
new
pub async fn new(model: &str) -> SearcherResult<Self>
is_quiet
pub fn is_quiet(&self) -> bool
search_keywords
pub fn search_keywords(index_path: &str, query: &str, top_k: usize) -> SearcherResult<Vec<SearchResult>>
Static keyword search (no embedder needed)
search
pub async fn search(&self, index_path: &str, query: &str) -> SearcherResult<Vec<SearchResult>>
Search with default options
search_with_options
pub async fn search_with_options(&self, index_path: &str, query: &str, options: &SearchOptions) -> SearcherResult<Vec<SearchResult>>
Search with custom options
model_name
pub fn model_name(&self) -> &str
has_reranker
pub fn has_reranker(&self) -> bool
reranker_model
pub fn reranker_model(&self) -> Option<&str>
default_mode
pub fn default_mode(&self) -> SearchMode
default_top_k
pub fn default_top_k(&self) -> usize
SearcherBuilder
pub struct SearcherBuilder
new
pub fn new(model: &str) -> Self
cpu
pub fn cpu(mut self) -> Self
gpu
pub fn gpu(mut self) -> Self
device
pub fn device(mut self, d: &str) -> Self
reranker
pub fn reranker(mut self, model: &str) -> Self
no_reranker
pub fn no_reranker(mut self) -> Self
default_mode
pub fn default_mode(mut self, m: SearchMode) -> Self
default_top_k
pub fn default_top_k(mut self, k: usize) -> Self
quiet
pub fn quiet(mut self, q: bool) -> Self
cache_dir
pub fn cache_dir(mut self, d: impl Into<PathBuf>) -> Self
build
pub async fn build(self) -> SearcherResult<Searcher>
SearcherError
pub enum SearcherError
Error types for search
Variants
IndexNotFound(String),EmbedderError(#[from] crate::embedder::EmbedderError),RerankerError(#[from] crate::reranker::RerankerError),DimensionMismatchSearchFailed(#[from] anyhow::Error),
SearcherResult
pub type SearcherResult<T> = Result<T, SearcherError>
Kjarni runs the same engine on every platform: