#trie #levenshtein #fuzzy #dictionary

fuzzy_trie

用于模糊搜索的关键字集合

12个版本 (5个稳定版)

1.2.0 2022年9月6日
1.1.1 2021年3月20日
1.1.0 2020年8月2日
0.6.0 2020年5月14日
0.2.2 2020年5月3日

#1083算法

MIT 许可证

16KB
311

用于模糊搜索的关键字集合

FuzzyTrie 是一种带有 LevensteinAutomata 的 trie,用于实现模糊搜索

示例

use fuzzy_trie::FuzzyTrie;

let mut trie = FuzzyTrie::new(2, false);
trie.insert("vanilla").insert("vanilla item");
trie.insert("hello").insert("hello item");
trie.insert("helo").insert("helo item");
trie.insert("vanllo").insert("vanllo item");


let mut hello = Vec::new();
trie.fuzzy_search("hello", &mut hello);
let mut hello_iter = hello.into_iter();

assert_eq!(hello_iter.next(), Some((0, &"hello item")));
assert_eq!(hello_iter.next(), Some((1, &"helo item")));
assert_eq!(hello_iter.next(), None);


let mut vanila = Vec::new();
trie.fuzzy_search("vanilla", &mut vanila);
let mut vanila_iter = vanila.into_iter();

assert_eq!(vanila_iter.next(), Some((0, &"vanilla item")));
assert_eq!(vanila_iter.next(), Some((2, &"vanllo item")));
assert_eq!(vanila_iter.next(), None);

更多示例在 tests.rs


lib.rs:

用于模糊搜索的关键字集合

依赖项

~58KB