foodshare_search/
lib.rs

1//! High-performance fuzzy search for FoodShare.
2//!
3//! This crate provides:
4//! - Multi-level relevance scoring
5//! - Levenshtein edit distance
6//! - Unicode-aware tokenization
7//! - Thread-safe caching
8
9mod relevance;
10mod fuzzy;
11mod error;
12
13#[cfg(feature = "wasm")]
14mod wasm;
15
16pub use relevance::{calculate_relevance, RelevanceScore};
17pub use fuzzy::{fuzzy_match, levenshtein_distance};
18pub use error::{SearchError, Result};
19
20/// Search result with relevance score.
21#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
22pub struct SearchResult<T> {
23    /// The matched item
24    pub item: T,
25    /// Relevance score (higher is better)
26    pub score: u32,
27}