Tys*_*Tys 5 sql t-sql freetext
有趣的挑战; 我的客户在SQL数据库中输入一些产品信息.该产品是一位着名的古老俄罗斯作曲家拉赫玛尼诺夫的画作.所以该名称在描述字段中.现在,只有少数搜索产品的客户知道如何拼写这个名字,但大部分时间都拼写错误.除了拼写错误之外,还有很多国际客户只是写出这个名字,如Rachmaninow,Rahmaninov,Рахманінаў.
如果我将这些拼写错误或翻译中的任何一个放入谷歌(几乎)总是知道如何纠正它并将我直接重定向到正确的页面.
有谁知道我的可能性是什么在我的产品搜索中获得一些神奇的东西?我可以使用一些API吗?一些我不知道的超级自由文本选项?要么 ...
我们成功地解决了类似的问题:通过电话给出的名字搜索人(德语名字)。
例如:非常常见的德国姓氏“Schmidt”、“Schmitt”、“Schmied”、“Schmid”、“Schmit”和“Schmiedt”在通过声音说出时几乎不可能分开。将其与“Sylvia”或“Silvia”或“Sylvya”的名字结合起来,并且呼叫者说“嗨,我是西尔维娅·施密特,我忘记了我的客户号码”,就没有机会很快找到。
我们的解决方案是建立一个同义词列表,例如(德语的伪代码):
{consonant}+ := {consonant}
ie := i
ii := i
dt* := t
y|j := i
{vocal}v := {vocal}f
Run Code Online (Sandbox Code Playgroud)
等等,你就明白了。现在,我们将同义词翻译的字符串与原始字符串一起存储,以便可以进行搜索。这确实有效。
据我了解MySQL有处理Soundex()英文字符串的功能。我希望 MSSQL 也有类似的东西。