
在当今这个非结构化数据和用户输入不一致的世界中,搜索操作中的精确匹配往往力不从心。无论您是在开发文档管理系统、内容分析工具还是企业搜索引擎,实施模糊搜索可以让您在搜索查询中包含拼写错误、拼写变体或细微差异的情况下检索到相关结果。在本文中,我们将探讨如何使用 Conholdate.Total for .NET SDK 在 C# 中实现模糊搜索。您将学习如何使用可调的相似性水平在存储在各种文件夹中的多个文件中进行搜索,以获得更高的准确性和灵活性。
为什么使用模糊搜索?
模糊搜索是任何处理用户生成内容或处理多样文本来源的现代应用程序的基本功能。与仅返回完全匹配查询的确切搜索不同,模糊搜索根据定义的相似度水平检索与搜索查询足够接近的文档。这种方法通过考虑错字、拼写不一致或者轻微的语言变体,显著改善了用户体验。
例如,在用户搜索reciept”而不是receipt”的情况下,精确搜索将失败,而模糊搜索仍会返回相关结果。这在法律文档检索、学术研究和企业数据挖掘等领域尤其有用,在这些领域中,精确性和灵活性同样至关重要。
模糊搜索 - .NET 配置
您需要使用以下 NuGet 安装命令安装 Conholdate.Total for .NET:
Install-Package Conholdate.Total
在C#中跨多个文件和文件夹进行模糊搜索
您可以在存储在不同文件夹中的广泛文档中执行模糊搜索。您可以轻松配置相似性级别并定义索引和搜索的结构。
// Creating an index folder and add document's folder to it
Index index = new Index("indexing-folder-path");
index.Add("path/parent-folder");
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.7);
string query = "nulla"; // search approximate matches of the provided query
SearchResult result = index.Search(query, options);
在这个代码片段中:
创建了一个新的索引,指向用于索引的目录。
已将包含所有文档的父文件夹添加到此索引中。
模糊搜索通过 SearchOptions 类启用。
相似度级别设置为 0.7,这对应于 70% 的匹配或 30% 的错误容忍。
搜索查询 "nulla" 被传递,系统检索出符合相似性阈值的结果。
您可以根据希望搜索结果的严格程度或宽松程度来调整相似性级别。较低的阈值允许更多的灵活性,而较高的阈值则确保更严格的匹配。
可定制相似性级别的好处
Conholdate.Total for .NET SDK 的一个突出特点是能够控制模糊搜索的相似度阈值。这种级别的定制化提供了对匹配过程的精细控制,确保结果既相关又可靠。
更高的相似度 (例如,0.9):在精准度至关重要时使用,并且您希望结果与原始查询非常接近。
较低的相似性(例如,0.6):适合用于探索性搜索或用户可能输入频繁错误的数据时。
能够以编程方式更改该值为开发人员提供了灵活性,使他们能够适应不同的业务用例,而无需重新索引或重新配置整个系统。
免费评估许可证
您可以获得一个 免费临时许可证,以避免 SDK 的试用限制并能够充分测试它。
结论
模糊搜索是需要提供智能、容错和用户友好搜索功能的应用程序的重要特性。通过使用 Conholdate.Total for .NET SDK,开发人员可以轻松地将强大的模糊搜索功能集成到他们的 C# 应用程序中。无论您是在数千份法律文件中搜索,还是在用户生成的内容中扫描,这个 SDK 都提供了精确和灵活处理它的工具。调整相似性水平,在文件夹中搜索,并检索最相关的结果,即使输入不完美。