Home  >  Article  >  Backend Development  >  什么是模糊搜索?

什么是模糊搜索?

PHPz
PHPzOriginal
2016-06-13 11:15:238088browse

什么是模糊搜索?

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn