模糊搜索的定义主要有两种观点。
一是系统允许被搜索信息和搜索提问之间存在一定的差异,这种差异就是“模糊”在搜索中的含义。例如,查找名字Smith时,就会找出与之相似的Smithe, Smythe, Smyth, Smitt等。
二是实质上的搜索系统自动进行的同义词搜索。同义词由系统的管理界面配置。例如,配置“计算机”与“computer”为同义词后,搜索“计算机”,则包含“computer”的网页也会出现在搜索结果中。
应用
图片模糊检索
将本地图片输入到图片搜索框,
1、假如你的图片带有意义的标题,比如“衣服”,那么搜索结果会显示相关文本搜索结果
2、假如你的图片标题没有任何含义,搜索结果只显示相关图片。
3、搜索精准度随不同图片可达到的满意程度不同,往往越是主流商业图片越精准
目前像百度、谷歌等搜索引擎及淘宝等平台均可实现此应用。
文本模糊搜索
搜索引擎或门户网站搜索:将文本输入搜索框,选择模糊搜索模式,即可得到匹配结果。
数据库搜索:一般模糊查询语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件。
其中关于条件,SQL提供了四种匹配模式:
1、% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
2、_ : 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
3、[ ] :表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
4、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
5,查询内容包含通配符时
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。
在不同的数据库中,模糊搜索的语句会有不同,可在系统帮助文档中了解。
前景与目标
模糊搜索要达到的目标是用户不需要关心搜索系统的结构,任意输入一串字符或者数字,只要搜索范围中包含该信息,通过该方法就能够找出该信息包含在哪个表,哪个字段里,或者具体哪个位置,进而可以进行更为详细的查询。模糊搜索可以实现以下几个目标:
( 1) 大小写不进行区分。
( 2) 要实现前后模糊查询。
( 3) 字符与数字不区分的模糊查询。
( 4) 与数据模型无关的模糊查询。
更多相关知识,请访问 PHP中文网!!