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

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

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

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

该算法比LIKE或SOUNDEX好得多.

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

关于作者: dawei

【声明】:佛山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章