Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL模糊搜索和类似Google的改进_Sql_Tsql_Freetext - Fatal编程技术网

SQL模糊搜索和类似Google的改进

SQL模糊搜索和类似Google的改进,sql,tsql,freetext,Sql,Tsql,Freetext,有趣的挑战;我的客户机在SQL数据库中输入一些产品信息。这幅作品是一位著名的俄罗斯老作曲家拉赫玛尼诺夫的作品。因此,该名称位于“描述”字段中。现在,只有少数在搜索产品的客户知道这个名字的确切拼写,但大多数情况下都拼错了。除了拼写错误,还有很多国际客户只是写了完全不同的名字,比如拉赫马尼诺、拉赫马尼诺夫、аааааааааааааа 如果我把这些拼写错误或翻译放进谷歌,它(几乎)总是知道如何更正,并直接将我重定向到正确的页面 有人知道我在产品搜索中获得这种魔力的可能性吗?有一些API我可以使用吗?

有趣的挑战;我的客户机在SQL数据库中输入一些产品信息。这幅作品是一位著名的俄罗斯老作曲家拉赫玛尼诺夫的作品。因此,该名称位于“描述”字段中。现在,只有少数在搜索产品的客户知道这个名字的确切拼写,但大多数情况下都拼错了。除了拼写错误,还有很多国际客户只是写了完全不同的名字,比如拉赫马尼诺、拉赫马尼诺夫、аааааааааааааа

如果我把这些拼写错误或翻译放进谷歌,它(几乎)总是知道如何更正,并直接将我重定向到正确的页面


有人知道我在产品搜索中获得这种魔力的可能性吗?有一些API我可以使用吗?一些我不知道的超级自由文本选项?或者

我们解决了一个类似的问题,并取得了相当大的成功:通过电话中给出的姓名搜索人(德语姓名)

例如:非常常见的德语姓氏“Schmidt”、“Schmitt”、“Schmied”、“Schmid”、“Schmit”和“Schmiedt”在用声音说出时几乎无法分开。再加上“西尔维亚”或“西尔维亚”或“西尔维亚”的名字,再加上打电话的人说“嗨,我是西尔维亚·施密特,我忘了我的客户号码”,很难很快找到

我们的解决方案是列出Synophone的列表,例如(用伪代码,德语):

等等,你明白了。现在,我们将synophone翻译的字符串与原始字符串一起存储,以使搜索成为可能。这真的很有效


我知道MySQL有英文字符串的
Soundex()
函数。我希望MSSQL也会有类似的功能。

好吧,这听起来是一个非常好的解决方案,可以帮上不少忙。但是,有人知道你可以在哪里获得你在谷歌网站上看到的更正吗?你不知道。它们将应用于搜索词,但不会返回。我看到MS SQL也有Soundex,在搜索该主题时,我找到了一些适合我的方法。谢谢
{consonant}+ := {consonant}
ie := i
ii := i
dt* := t
y|j := i
{vocal}v := {vocal}f