pub struct TfIdfSearch { /* private fields */ }Expand description
Semantic search without AI (using TF-IDF like approach).
§TF-IDF 语义搜索
TF-IDF(Term Frequency-Inverse Document Frequency)是一种 不需要 AI 模型的语义搜索方法。
§原理
-
TF(词频): 词在文档中出现的频率 TF(word, doc) = count(word in doc) / len(doc)
-
IDF(逆文档频率): 词在整个文档集合中的稀有程度 IDF(word) = log(total_docs / docs_containing_word)
-
TF-IDF: TF × IDF 高 TF-IDF = 词在此文档中重要,但在其他文档中不常见
§示例
ⓘ
文档1: "使用 PostgreSQL 数据库"
文档2: "Redis 缓存配置"
文档3: "数据库连接池设置"
查询: "数据库"
TF-IDF("数据库", 文档1) = 1/3 × log(3/2) = 0.33 × 0.41 = 0.14
TF-IDF("数据库", 文档3) = 1/4 × log(3/2) = 0.25 × 0.41 = 0.10
结果: 文档1 > 文档3 > 文档2Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TfIdfSearch
impl RefUnwindSafe for TfIdfSearch
impl Send for TfIdfSearch
impl Sync for TfIdfSearch
impl Unpin for TfIdfSearch
impl UnsafeUnpin for TfIdfSearch
impl UnwindSafe for TfIdfSearch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more