c# – 有没有办法在SQL数据库中搜索相似的单词(意思是不相同的单

有没有办法搜索MySQL数据库中的相似单词(意思是不相同的单词).例如:用户在数据库中搜索单词“abcd”并且数据库中有一个单词“abd”,因此搜索引擎或程序询问用户“你的意思是[abd]?”,就像在大多数搜索引擎中一样网络?请注意,搜索词不是现有单词的一部分(不能使用“like”)
最佳答案
看看Damerau-Levenshtein distance算法.它计算两个字符串之间的“距离”,并确定将一个字符串转换为另一个字符串所需的步数.两个琴弦越近,步数就越小.

This文章显示了作为MySQL存储函数实现的算法.

该算法比LIKE或SOUNDEX好得多.

我相信Google使用众包源数据而不是算法.即,如果用户键入abcd,单击后退按钮然后立即搜索abd,则会在用户对结果不满意时建立两个搜索项之间的关系.一旦您进行了非常大的社区搜索,就会出现该模式.

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注