Maison >développement back-end >tutoriel php >什么是模糊搜索?

什么是模糊搜索?

PHPz
PHPzoriginal
2016-06-13 11:15:238165parcourir

什么是模糊搜索?

模糊搜索的定义主要有两种观点。

  • 一是系统允许被搜索信息和搜索提问之间存在一定的差异,这种差异就是“模糊”在搜索中的含义。例如,查找名字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中文网!!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn