find_cosine/
find_cosine.rs1use find_simdoc::tfidf::{Idf, Tf};
2use find_simdoc::CosineSearcher;
3
4fn main() {
5 let documents = vec![
6 "Welcome to Jimbocho, the town of books and curry!",
7 "Welcome to Jimbocho, the city of books and curry!",
8 "We welcome you to Jimbocho, the town of books and curry.",
9 "Welcome to the town of books and curry, Jimbocho!",
10 ];
11
12 let searcher = CosineSearcher::new(1, Some(' '), Some(42)).unwrap();
14 let tf = Tf::new();
16 let idf = Idf::new()
18 .build(documents.iter().clone(), searcher.config())
19 .unwrap();
20 let searcher = searcher
22 .tf(Some(tf))
24 .idf(Some(idf))
26 .build_sketches_in_parallel(documents.iter(), 10)
28 .unwrap();
29
30 let results = searcher.search_similar_pairs(0.25);
32 assert_eq!(results, vec![(0, 1, 0.1671875), (0, 3, 0.246875)]);
34}