SQL - 使用LIKE运算符搜索数据库
鉴于您的数据存储在数据库中的某个位置:
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%'
谁会回来squadoosh?
没有找到相关结果
已邀请:
6 个回复
桑娠贯涤
返回相同的值(D526)。 您还可以使用DIFFERENCE函数(在与soundex相同的链接上)来比较相似度(4是最相似,0是最少)。
编辑: 在寻找一个多文本选项之后,看起来这并不是那么容易。我会把你推荐给@Neil Knight提供的关于Fuzzt Logic答案的链接(对我来说是+1,对我来说!)。 此stackoverflow文章还详细介绍了TSQL中模糊逻辑实现的可能来源。一旦响应者还概述了全文索引作为您可能想要调查的潜力。
磋判粗惊
功能?你没有提到这里涉及哪一个。 SQL Server的
姬第柔炒
舶啥戚
味芯憨
骨乏唯瓜
,消除前3个左右的字符。以下是如何实现这一目标的示例