gpt4 book ai didi

SQL - 使用 LIKE 运算符搜索数据库

转载 作者:行者123 更新时间:2023-12-04 16:47:14 26 4
gpt4 key购买 nike

鉴于您的数据存储在数据库中的某处:

Hello my name is Tom I like dinosaurs to talk about SQL.  
SQL is amazing. I really like SQL.

我们想要实现站点搜索,允许访问者输入术语并返回相关记录。用户可能会搜索:
Dinosaurs

和 SQL:
WHERE articleBody LIKE '%Dinosaurs%'

可以很好地返回正确的记录集。

但是,如果用户拼错了恐龙,我们将如何应对? IE:
Dinosores

(可怜的恐龙)。我们如何搜索允许拼写错误?我们可以将我们在搜索中看到的常见拼写错误与正确的拼写联系起来,然后搜索原始术语 + 更正的术语,但这维护起来很耗时。

任何方式编程?

编辑

似乎 SOUNDEX 可以提供帮助,但谁能给我一个使用 soundex 输入搜索词的示例:
Dinosores wrocks

返回记录而不是做:
WHERE articleBody LIKE '%Dinosaurs%' OR articleBody LIKE '%Wrocks%'

哪个会返回squatoosh?

最佳答案

如果您使用的是 SQL Server,请查看 SOUNDEX .

对于您的示例:

select SOUNDEX('Dinosaurs'), SOUNDEX('Dinosores')

返回相同的值 (D526)。

您还可以使用 DIFFERENCE 函数(在与 soundex 相同的链接上)来比较相似度(4 是最相似的,0 是最不相似的)。
SELECT DIFFERENCE('Dinosaurs', 'Dinosores'); --returns 4

编辑:

在寻找多文本选项后,似乎这并不容易。我会向您推荐@Neil Knight 提供的 Fuzzt Logic 答案上的链接(对我来说,+1!)。

This stackoverflow article还详细介绍了 TSQL 中模糊逻辑实现的可能来源。有一次受访者还概述了全文索引作为您可能想要调查的潜力。

关于SQL - 使用 LIKE 运算符搜索数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5182723/

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