#字符串搜索 #字符串相似度 #查询字符串 #比较 #LCS #排名 #搜索算法

magic_string_search

一个简单的字符串搜索库,根据查询字符串相似度对字符串进行排名

6个版本

0.2.1 2024年7月8日
0.2.0 2024年4月18日
0.1.5 2024年3月27日

#628算法


用于 my-notes

MIT 许可证

1MB
235

包含 (WOFF字体, 400KB) NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2, (WOFF字体, 135KB) FiraSans-Medium-8f9a781e4970d388.woff2, (WOFF字体, 130KB) FiraSans-Regular-018c141bf0843ffd.woff2, (WOFF字体, 82KB) SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2, (WOFF字体, 77KB) SourceSerif4-Regular-46f98efaafac5295.ttf.woff2, (WOFF字体, 45KB) SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 以及其他3个.

魔法字符串搜索

魔法字符串搜索是一个简单而强大的Rust库,旨在根据查询字符串相似度查找和排名字符串。无论您是在开发搜索引擎、实现自动补全功能,还是需要根据相关性对字符串列表进行排序,魔法字符串搜索都提供了一个简单的API,以高效地完成这些任务。

特性

  • 字符串相似度排名:根据给定的查询字符串比较和排名字符串。
  • 最长公共子序列 (LCS):利用LCS算法来评估字符串之间的相似度。
  • 归一化比较:提供归一化比较函数来处理字符串和查询的长度变化。

安装

将Magic String Search添加到您的 Cargo.toml 文件中

[dependencies]
magic_string_search = "0.1.5"

用法

以下是如何使用魔法字符串搜索比较两个字符串并根据查询字符串相似度对多个字符串进行排名的简单示例

use magic_string_search::{compare, rank};

fn main() {
    // Compare two strings
    let similarity_score = compare("Hello, world!", "Hello, Rust!");
    println!("Similarity score: {}", similarity_score);

    // Rank strings by similarity
    let subjects = vec!["Hello, world!", "Hello, Rust!", "Goodbye, world!"];
    let ranked = rank("Hello, Rust!", subjects);
    for (score, subject) in ranked {
        println!("{} - {}", score, subject);
    }
}

贡献

欢迎对Magic String Search做出贡献!无论是错误报告、功能请求还是代码贡献,请随时在我们的GitHub仓库上打开一个问题或拉取请求。

许可证

魔法字符串搜索在MIT许可证下发布。有关更多详细信息,请参阅LICENSE文件。

无运行时依赖