MySQL查询模糊搜索软件数据库

1 投票
2 回答
568 浏览
提问于 2025-04-18 03:43

我有一个软件名称的数据库,现在我想找一个查询方法来根据名称选择正确的软件。软件名称的字段是一个 VARCHAR 类型。

数据库中的软件示例列表:

Adobe Flash Professional
Mozilla Firefox Browser 20.0
Adobe Photoshop Lightroom
NetBeans IDE
WinRAR 5.10 beta 2

查询 Firefox 的方法可以是:
Firefox 或者 Mozilla Firefox

查询 Lightroom 的方法可以是:
Lightroom 或者 Adobe Lightroom 或者 Photoshop Lightroom

查询 WinRar 的方法可以是:
WinRar 或者 WinRar archiver

我尝试过用 SOUNDEX 或者 Levenshtein 距离来处理,但这些方法没有得到想要的结果。

2 个回答

0

如果你能调整查询的话,可以使用 like 操作符

比如说:SELECT * FROM SOFTWARE WHERE NAME LIKE '%Adobe%Lightroom%

1

你在寻找全文搜索的相关信息:https://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

请注意,你需要在要搜索的列上创建一个 FULLTEXT 索引。此外,你可能还想考虑在这个索引中添加一些相关的关键词(这样你之前提到的“归档器”也能匹配到一些内容)

撰写回答