c# – 实现智能搜索/模糊字符串比较

我在ASP.NET MVC应用程序上有一个网页,客户可以在其中搜索供应商.供应商在网站上捕获他们自己的详细信息.客户想要一个“智能搜索功能,即使供应商拼写与搜索框中输入的内容“略有不同”,他们也可以搜索供应商并找到它们.

我不知道客户的“略有不同”的概念是什么.我一直在研究实现自定义soundex算法.这会根据声音的方式将单词转换为数字.然后将该数字用于比较.

例如:

Zach

Zack

将编码为相同的值.还有其他我可以考虑的选择吗?

解决方法

您可以将 Levenshtein distance数据库中供应商的“标签”字段结合使用,以实现“智能搜索”样式功能.

它非常基本,但适用于’Zack / Zach’等情况.

通过在数据库添加标签,您可以处理人们可以通过其首字母缩略词或其他口语名称搜索供应商的情况.

有关实施细节,请参见How to calculate distance similarity measure of given 2 strings?http://www.dotnetperls.com/levenshtein.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...