c# - 在网站中创建 "Did you mean XYZ"功能的想法

标签 c# sql-server asp.net-mvc

我想让用户能够搜索大量商家,但仍能找到相近的匹配项。

当您的目标不是简单的字典单词,而是像 ABC 商户名称这样的复杂名称时,是否有人可以就如何最好地解决这个问题提出任何建议?

问候。

最佳答案

查看有关 Levenshtein distance 的维基百科文章.这是一个相当简单的概念,可以让您全神贯注,并且很容易用您使用的任何语言(在您的情况下为 C#)实现算法。

我为您找到了一个 C# 示例 here .

此外,here是 Google 的 Peter Norvig 的拼写校正器示例。在几集之前的 SO 播客中有人说 Jon Skeet 试图用 C# 重写这个相同的算法。不确定他是否完成了它和/或公开了它。

关于c# - 在网站中创建 "Did you mean XYZ"功能的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1870178/

相关文章:

c# - 在服务器端( Controller )进行验证是一种好习惯吗? ASP.NET MVC

c# - 在 Blazor WebAssembly 中调整图像大小 (jpg)?

sql - 使用 SQL Server 设计排行榜

没有结束日期的 SQL DateDiff

c# - 如何使用 c#、mvc 中的模型值设置内联 css 宽度

asp.net-mvc - @Html.ActionLink 调用 Post 方法

c# - 使用 Entity Framework 对十进制数进行缩放

c# - asp.net 下拉回发在 Firefox 上不起作用

c# - 在 C# 中实现多参数泛型方法

sql - 更新触发器更新目标中的所有行,而不仅仅是更新?