我有一个软件名称数据库,我需要搜索,现在我想找到一个查询,它将按名称选择合适的软件。软件名称字段为VARCHAR
DB中的示例软件列表:
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距离工作,但这些并没有返回所需的结果。
答案 0 :(得分:1)
您正在寻找全文搜索:https://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
请注意,您需要在搜索列上创建FULLTEXT
索引,并且您可能需要考虑向其中添加相关关键字(因此您的上述“归档”也会匹配某些内容)
答案 1 :(得分:0)
如果您可以操纵查询,请使用like operator
例如:SELECT * FROM SOFTWARE WHERE NAME LIKE '%Adobe%Lightroom%