1.1、什么是搜索
简单的说,搜索就是搜寻、查找,在IT行业中就是指用户输入关键字,通过相应的算法,查询并返回用户所需要的信息。
线性匹配:
Select from 表名 where id=
select from item where title like ’%小米%’
结果:
结果中包含: 所有title字段中有 小米 这个词的结果集
是否准确? 是否高效?
1.2、新的业务需求
比如,用户在百度文本框中输入,“吃饭睡觉写程序”,会出现的以下结果:
从结果可以看出,百度搜索具备以下明显特点:
1、即使在相关结果数量接近500万时,也能快速得出结果。
2、搜索的结果不仅仅局限于完整的“吃饭睡觉写程序”这一短语,而是将此短语拆分成,“写程序”,“吃饭”,“睡觉”,“程序”等关键字。
3、对拆分后的搜索关键字进行标红显示。
4、......
问题:上述功能,使用大家以前学过的数据库搜索能够方便实现吗?
1.3、普通的数据库搜索的缺陷
1、因为没有通过高效的索引方式,所以查询的速度在大量数据的情况下是很慢。
2、搜索效果比较差,只能对用户输入的完整关键字首尾位进行模糊匹配。
3、用户搜索时如果多输入一个字符,可能就导致查询出的结果远离用户的预期。
问题: 1.效率问题 不够高效 2.准确度的问题 不够精准
1.4、搜索引擎
转:https://blog.51cto.com/13587708/2400268