首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库中搜索打字错误

在数据库中搜索打字错误
EN

Stack Overflow用户
提问于 2015-12-04 00:12:36
回答 2查看 133关注 0票数 3

我们在我们的应用程序中有数据库,其中包含有关曲目或剧集的信息,如标题,描述...etc。假设我的标题是“يذهبالىالمدرسة",用户搜索的是单词”إلى",在阿拉伯语中,字母“ا”不同于“إ”,因此搜索不会给我任何结果,因为这个单词不存在。

如何在数据库中搜索,同时包含那些打字错误?

服务器为php,数据库为mysql。如果你知道任何指南或帖子可以查看,将不胜感激。抱歉,如果这不是问问题的地方。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-12-04 00:21:59

Use soundex(column_name) = 'search_term‘

票数 0
EN

Stack Overflow用户

发布于 2015-12-04 01:27:54

DIFFERENCE()使用SOUNDEX()返回的拼音分数对这两个单词进行比较。此选项仅适用于英语。

Soundex是由罗伯特·C·罗素和玛格丽特·金·奥德尔开发的,并于1918年和1922年获得专利。Wikipedia

美国国家档案和记录管理局(NARA)为美国政府使用的Soundex的正式实施维护the current rule set

在其他语言中,您必须创建自己的实现来比较两个单词。由于完整的语音实现过于复杂,因此您可以创建一个函数,在该函数中比较一个单词,并使用LIKE运算符说明该位置和可能缺少的字母。

部分示例:

代码语言:javascript
复制
SELECT @IsSimilar = 1 WHERE 'hello' LIKE 'Hel_o'

-- the underscore in TSQL matches a single character.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34070864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档