使用 C# 执行模糊搜索

在当今的数字环境中,准确高效地搜索大量文档的能力是许多应用程序的关键要求。但是,当用户出现印刷错误、使用替代拼写或输入不完整信息时,精确匹配搜索算法通常会失效。这时模糊搜索就变得无价了。模糊搜索是一种允许近似匹配的技术,即使搜索查询和目标内容不相同,用户也可以找到相关结果。开发人员现在可以使用 C# 执行模糊搜索,利用其高级功能来提高搜索准确性。无论您是需要使用 C# 中的模糊逻辑为企业级文档管理系统构建文档搜索,还是创建一个简单的搜索实用程序,本文都将提供详细的指南。

使用 C# 执行模糊搜索的步骤

  1. 通过添加 GroupDocs.Search for .NET 库来配置您的开发设置,这有助于实现模糊搜索
  2. 创建一个 Index 对象来定义一个存储位置,您的文档将在该位置进行组织并准备进行快速搜索。
  3. 使用 Index.Add 方法将文件包含在索引中,指向包含要处理的文档的文件夹
  4. 配置搜索选项以使用 FuzzySearch.Enabled 属性启用模糊搜索,允许近似匹配
  5. 使用 FuzzySearch.FuzzyAlgorithm 属性定义具有相似度级别的模糊搜索算法。此级别根据单词长度指定允许的错误数量(例如,对于 10-14 个字符的单词,最多允许 2 个错误)
  6. 使用查询和 SearchOptions 在索引上执行搜索以检索匹配的结果

GroupDocs.Search 中的模糊搜索通过启用搜索查询和索引内容之间的近似匹配来实现。这是通过使用 C# 中的模糊搜索算法来实现的,该算法具有相似度阈值,例如 0.8,允许最多 20% 的不匹配,以及根据字长调整允许错误的模糊算法。要执行它,首先设置您的开发环境并将库添加到您的项目中。创建一个索引来存储您的文档,然后添加要搜索的文件。通过将 FuzzySearch.Enabled 属性设置为 true 来启用搜索选项中的模糊搜索,并使用 FuzzyAlgorithm 属性配置相似度阈值以定义可接受的不匹配级别。最后,使用这些选项执行搜索查询,库将根据近似匹配返回结果,使您能够有效地处理搜索词中的错误或变化。

使用 C# 执行模糊搜索的代码

using GroupDocs.Search;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
namespace PerformFuzzySearchUsingCSharp
{
internal class Program
{
static void Main(string[] args)
{
// Apply the license to remove the restrictions
// imposed by the Search library
License lic = new License();
lic.SetLicense(@"GroupDocs.Search.lic");
string indexFolder = @"d:\MyIndex\";
string documentsFolder = @"d:\MyDocuments\";
string query = "Einstein";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.Add(documentsFolder);
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.8);
// Creating the fuzzy search algorithm
// This function specifies 0 as the maximum number of mistakes
// for words from 1 to 4 characters.
// It specifies 1 as the maximum number of mistakes for words
// from 5 to 9 characters.
// It specifies 2 as the maximum number of mistakes for words
// from 10 to 14 characters. And so on.
// Search in index
SearchResult result = index.Search(query, options);
}
}
}

总之,使用搜索库在 C# 中实现模糊搜索是一种直接有效的增强应用程序搜索功能的方法。本 面向 .NET 开发人员的模糊搜索教程 演示了如何使用可自定义的选项处理近似匹配,确保用户即使在查询不完善的情况下也能找到相关结果。搜索库的平台独立性使其成为一种多功能选择,允许开发人员在各种环境中构建强大的搜索功能。无论您是在开发文档管理系统、搜索实用程序还是任何需要智能搜索的应用程序,它都能为您提供提供高效且用户友好体验的工具。

之前,我们分享了有关在 C# 中实现分面搜索的深入指南。如需完整的分步教程,请不要错过我们关于 如何使用 C# 执行分面搜索 的详细文章。

 简体中文