[−][src]Crate simsearch
A simple and lightweight fuzzy search engine that works in memory, searching for similar strings (a pun here).
Examples
use simsearch::SimSearch; let mut engine: SimSearch<u32> = SimSearch::new(); engine.insert(1, "Things Fall Apart"); engine.insert(2, "The Old Man and the Sea"); engine.insert(3, "James Joyce"); let results: Vec<u32> = engine.search("thngs"); assert_eq!(results, &[1]);
By default, Jaro-Winkler distance is used. An alternative Levenshtein distance, which is
SIMD-accelerated but only works for ASCII byte strings, can be specified with SearchOptions
:
use simsearch::{SimSearch, SearchOptions}; let options = SearchOptions::new().levenshtein(true); let mut engine: SimSearch<u32> = SimSearch::new_with(options);
Structs
SearchOptions | Options and flags that configuring the search engine. |
SimSearch | The simple search engine. |