gpt4 book ai didi

SQL Server 2008 SELECT 相似词

转载 作者:行者123 更新时间:2023-12-04 05:13:59 24 4
gpt4 key购买 nike

是否可以在 SQL Server 2008 中搜索相似的词?

如果用户输入:Ayrton Sena
带单'n'它还应该返回带有 Ayrton Senna 的行带两个 'nn'
我认为同样的方法适用于拼写检查单词

最佳答案

由于“塞纳”不是“塞纳”的反射(reflect),因此使用全文索引很难解决此任务。

我建议使用全文和字符串相似性的组合来决定两个字符串是否被视为“相等”。

因此,如果您搜索多个单词并允许其中一个拼写错误,请使用类似这样的内容

select * 
from myTable t
join FullTextTable(myTable,TextField,'Ayrton Senna') f
on f.ID=t.PK
where dbo.MyExternalStringSimilarity('Ayrton Senna', t.TextField)>0.9

现在您只需要一个字符串相似度函数。您可以使用 Microsoft 数据质量服务中的“相似性”功能或编写自己的功能。

寻找 Jaro-Winkler、Levenshtein、Dice-Coefficient 等。这些是进行字符串相似性比较的好算法。

当然,您也可以使用扫描整个数据库
select *
from myTable t
where dbo.MyExternalStringSimilarity('Ayrton Senna', t.TextField)>0.9

但这可能需要很长时间才能执行。

编辑:但是,我们目前正在使用第一种方法来查找名称的所有相似拼写。它工作得很好。

关于SQL Server 2008 SELECT 相似词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14537468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com