我想让用户能够搜索大量商家,但仍能找到相近的匹配项。
当您的目标不是简单的字典单词,而是像 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/