我有一个软件名称数据库,我需要搜索,现在我试图找到一个查询,将选择正确的软件名称。软件名称字段是一个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距离来处理一些事情,但是这些都没有返回期望的结果。
发布于 2014-04-22 10:53:53
您正在寻找全文搜索:https://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
请注意,您将需要在搜索的列上创建一个FULLTEXT
索引,并且您可能需要考虑向其添加相关的关键字(因此上面提到的“归档器”也与某些内容匹配)
发布于 2014-04-22 10:05:44
如果可以操作查询,请使用类算子
例:SELECT * FROM SOFTWARE WHERE NAME LIKE '%Adobe%Lightroom%
https://stackoverflow.com/questions/23215709
复制相似问题