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 threshold
  • pub 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)

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),
  • DimensionMismatch
  • SearchFailed(#[from] anyhow::Error),

SearcherResult

pub type SearcherResult<T> = Result<T, SearcherError>

Kjarni runs the same engine on every platform: