1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # Zantetsu VecDB
//!
//! Canonical title matching for parsed anime names.
//!
//! The current implementation supports two backends:
//! - A local Kitsu SQL dump (`latest.sql` or `latest.sql.gz`)
//! - A remote GraphQL endpoint compatible with the expected anime search schema
//!
//! Crates:
//! - [`zantetsu`](https://docs.rs/zantetsu) - unified API surface
//! - [`zantetsu-core`](https://docs.rs/zantetsu-core) - parsing engine
//! - [`zantetsu-vecdb`](https://docs.rs/zantetsu-vecdb) - canonical title matching
//!
//! ## Examples
//!
//! Use a local Kitsu dump:
//!
//! ```rust,no_run
//! use zantetsu_vecdb::{MatchSource, TitleMatcher};
//!
//! let matcher = TitleMatcher::new(
//! MatchSource::kitsu_dump("/home/user/.local/share/zantetsu/kitsu-dumps"),
//! )
//! .unwrap();
//!
//! let best = matcher.match_title("Sousou no Frieren").unwrap();
//! assert!(best.is_some());
//! ```
//!
//! Use a remote GraphQL endpoint:
//!
//! ```rust,no_run
//! use zantetsu_vecdb::{MatchSource, TitleMatcher};
//!
//! let matcher = TitleMatcher::new(
//! MatchSource::remote_endpoint("https://graphql.anilist.co"),
//! )
//! .unwrap();
//!
//! let best = matcher.match_title("Spy x Family").unwrap();
//! assert!(best.is_some());
//! ```
pub use ;
pub use ;