我想对自定义类的条目执行文本搜索。该文本搜索不仅应匹配输入的字符串,还应检查拼写错误的单词。所以我正在寻找一个可以为我做这件事的图书馆。
更多背景信息: 假设我从 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/