mysql - 可以找到阿拉伯语拼写错误的 SQL 查询

标签 mysql sql performance word letter

我想制作一本字典,我需要一个可以找到拼写错误的单词的查询(我的意思是拼写错误/拼写错误或打字错误),如果查询找不到确切的单词,则尝试使用其他拼写.. .

那么什么是阿拉伯语:在阿拉伯语中有一些字母发音(几乎)相同但字母不同,人们有时不知道应该使用哪一个。例如阿拉伯语中的Z有4种 "ò/ظ/ذ/ض"发音不同(有点),但人们会忘记哪个是正确的拼写。 “z”字母不同用法的一个单词示例:

مریز / مریض / مریظ / مریذ

The correct is مریض

这里是其他不止一个后者的世界:

z: ض / ز / ذ / ظ 

T: ت / ط / 

S: ث / س / ص / 

Gh: ق / غ

那么你的想法是什么? 应该如何查询?

我希望如果用户搜索“مریò”而不是向他显示 404 错误(未找到),请使用其他字母(全是 Z)搜索数据库,然后在我找到任何内容时返回结果。

最佳答案

在德语中,我们在 t 和 tt 或 dt 方面存在同样的问题 - 特别是在名称方面。

解决此问题的一种方法是存储额外的规范化列,其中包含具有固定转换的名称/单词。

 tt -> t
 dt -> t
 ß  -> s
 ss -> s

所以表将包含

 WORD    | NORMALIZED
 schmitt | schmit
 schmidt | schmit

在查询时,将这些相同的转换应用于查询,然后与规范化列进行比较。

关于mysql - 可以找到阿拉伯语拼写错误的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34690729/

相关文章:

Access 中的 SQL 查询更新多个字段

php - 这是在数据库中查找表的正确查询吗?

c# - 查询文本框时出错

PHP 似乎没有处理要发布到 MySQL 的脚本

sql - 使用 t-SQL 检索 XML 元素名称

Mysql:插入性能 INNODB vs MYISAM

javascript - 为什么 Rust WASM 在计算素数时比 JavaScript 慢

javascript - 不显眼的 Javascript,我应该使用它吗?管理和组织事件的最佳方式是什么?如何防止效率低下?

java - 如何在python中返回包含sqlalchemy中的对象的列表,类似于java中的List<OrderInfo>

php - 如何知道 DELETE 查询是否真的删除了一行,使用 PDO