MySQL查询模糊搜索软件数据库
我有一个软件名称的数据库,现在我想找一个查询方法来根据名称选择正确的软件。软件名称的字段是一个 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
索引。此外,你可能还想考虑在这个索引中添加一些相关的关键词(这样你之前提到的“归档器”也能匹配到一些内容)