如何搭一个搜索引擎:[3]搜索引擎基本原理
本经验介绍一下搜索引擎的最基本原理,对于有编程经验的人来说应该不难理解。其实不懂搜索引擎的人也可以通过一些工具很快速地搭建起一套很专业的搜索引擎来,但是理解了搜索引擎背后的基本原理后,在使用的过程中,对一些问题的理解可以更深入,看得更透彻一些吧。
一、搜索引擎背景介绍
1、发展史:1) Archie: 1990年FTP资源搜索,搜索引擎鼻祖2) YAHOO:第一代:1994年 分类目录3) excite:第二代:1993年 文本检索4) Google or Baidu: 第三代:1998年 超链分析
2、垂直搜索引擎:特点:•资源的稀缺性•结构化信息•结果精准•社区化属性通用搜索引擎市场份额已经被瓜分殆尽的情况下,做通用型搜索引擎投入大、产出小,不如专业垂直类搜索引擎有前途,在垂直领域做深做细。
![如何搭一个搜索引擎:[3]搜索引擎基本原理](https://exp-picture.cdn.bcebos.com/3bcdb808a50f94fc2cbc077a4cf88a775cddfc84.jpg)
4、微博搜索:几大特色需求满足:1犬匮渝扮)找人/明星/好友:姚晨、李开复2)电影:富春山居图关注人:产品经理3)时效性:地震4)社会化搜索:好友推荐的餐馆/电影5)时事…相对于百度这样的搜索引擎,微博搜索数据上更有特色,其中微博搜索数据带有人的属性,是社会化搜索的前提,同时微博搜索实效性更强。
二、搜索引擎架构
1、整体架构图:搜索引擎由蜘蛛Spider、索引indexer、检索Searcher组成,一般复杂的搜索引擎会在上游增加策略,如Ranker专门负责排序的模块,query查询分析模块
![如何搭一个搜索引擎:[3]搜索引擎基本原理](https://exp-picture.cdn.bcebos.com/3201a8f39187031c15f033486a86242fa972ec84.jpg)
3、倒排索引:适用于搜索引擎的索引结构
![如何搭一个搜索引擎:[3]搜索引擎基本原理](https://exp-picture.cdn.bcebos.com/ff5c88d8181961203cfd90da70f202b374d7df84.jpg)
三、搜索引擎的需求满足
1、通过对查询日志的分析,总结出搜索引擎需求满足的几个基本因素,搜索引擎效果的改进都是基于如下几个因素基础上进行的。
![如何搭一个搜索引擎:[3]搜索引擎基本原理](https://exp-picture.cdn.bcebos.com/50a010f85856d53d0614445d47d2bb665059ca84.jpg)
2、需求满足的一些常用技术手段:1)反蜘鲞器粹垃圾、反作弊策略:对一些重复、作弊、低质的网页进行识别、打压、降权等2)query分析:对用户的查询串进行各种分析,如:纠错、意图识别、同义词替换、query改写、term重要性分析等操作,为后续的排序等策略提供特征。3)排序策略:结合query分析结果+字符串匹配权重+网页的基本因子等一系列特征,对检索返回的集合进行排序,把优质的网页呈现出来
四、从搜索引擎看SEO
1、权重外链、用户反馈->权威性
2、站点优化:title、anthor、内链、服务稳定性、关键词密度、内容相关性
3、优化长尾词:长尾词竞争少,好优化,大量的长尾积累下来,流量也是很可观的
4、大量优质原创内容:内容为王
5、不要作弊,从用户的角度出发把网站做好
五、参考资料、书籍推荐
1、《搜索引擎:原理、技术与系统》
2、Mysql索引:http://blog.codinglabs.org/articles/theory-of-mysql-index.html
3、http://baike.baidu.com/view/262.htm