c# - 如何对包含搜索拼写错误的单词的 CustomObjects 列表执行文本搜索?

标签 c# asp.net sql-server

我想对自定义类的条目执行文本搜索。该文本搜索不仅应匹配输入的字符串,还应检查拼写错误的单词。所以我正在寻找一个可以为我做这件事的图书馆。

更多背景信息: 假设我从 SQLServer2008 数据库生成这个业务对象:

public class MyTextObject
{
  public String Title {get;set;}
  public String Content {get;set;}
}

在我的申请中我会有一个

List<MyTextObject>

并且想要搜索单词“control”。搜索应返回在 Title 或 Content 属性中包含单词“control”的任何 MyTextObject。到目前为止没有问题:我可以使用 LINQ 表达式轻松地做到这一点。

这是棘手的部分:
假设在我的一个业务对象中,我想写“control”,但我写了“contrlo”。我希望搜索算法也能建议该业务对象。
我怎样才能以一种非蛮力的方式来寻找搜索键的可能排列?是否有任何算法或库可以帮助我解决这种情况? 我也乐于接受其他好的建议 =)

最佳答案

我可以给你一个我们已经遵循的简单想法。

首先我们搜索 les say 是“contrlo”的词。 如果找不到这个词,我们会自动更正拼写,得到单词“control”(可能还有更多),现在我们搜索更正后的词。

您可以找到很多拼写更正。

其他建议

我建议使用 dtSearch .它是商业广告,但我说这是值得的。他们提供了一个简单的 dll,可以使用许多参数进行真正的搜索。

关于c# - 如何对包含搜索拼写错误的单词的 CustomObjects 列表执行文本搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5133144/

相关文章:

c# - 如何在没有返回值的情况下从 Linq 语句调用函数?

c# - 如何根据姓氏和名字在 Active Directory 中搜索用户?

javascript - 在Asp.net中使用ScriptManager调用jquery警报

javascript - 通过调用函数自动更新站点

c# - 如何获取表和主键,如果表没有主键则显示null?

SQL:将字符串转换为数学运算符

javascript - 用户按下 'entrer' 后 AngularJs 过滤器搜索

c# - 缺少 AxHost.GetPictureFromIPicture() 方法,正在从 MS Access 数据库中检索图片(附件)

asp.net - 文本对齐 : center in body causing repeater to center with no override ability

sql-server - 在 SQL Server 中查询 Maxmind GeoLite2 City Blocks csv 以获取 IPv6 和 IPv4 地址的 geoname_id