初始搜索引擎的原理:第一步就是需要了解“搜索引擎的基本步骤”。
搜索引擎的基本步骤(大概架构)如下。可以分成虚线左右两个部分:一部分是搜索引擎抓取:主动抓取网页进行一系列处理后建立索引,等待用户搜索;另一部分是用户搜索查询:分析用户搜索意图,展现用户所需要的搜索结果。
搜索引擎抓取:
搜索引擎主动抓取网页,并进行内容处理、索引部分的流程机制一般如下:
1、派出Spider,按照一定策略把网页抓回到搜索引擎服务器;
2、对抓回的网页进行链接抽离、内容处理,消除噪声、提取该页主题文本内容等;
3、对网页的文本内容进行中文分词、去除停止词等;
4、对网页内容进行分词后判断该页面内容与已索引网页是否有重复,剔除重复页,对剩余网页进行倒排索引,然后等待用户的检索。
用户搜索查询:
当用户进行查询后,搜索引擎工作的流程机制一般如下:
1、先对用户所查询的关键词进行分词处理,并根据用户的地理位置和历史检索特征进行用户需求分析,以便使用地域性搜索结果和个性化搜索结果展示用户最需要的内容;
2、查找缓存中是否有该关键词的查询结果,如果有,为了最快地呈现查询结果,搜索引擎会根据当下用户的各种信息判断其真正的需求,对缓存中的结果进行微调或直接呈现给用户;
3、如果用户所查询的关键词再缓存中不存在,那么就在索引库中的网页进行调取排名呈现,并将关键词和对应的搜索结果加入到缓存中;
4、网页排名是根据用户的搜索词和搜索需求,对索引库中的网页进行相关性、重要性(链接权重分析)和用户体验的高低进行分析所得出的。用户在搜索结果中的点击和重复搜索行为,也可以告诉搜索引擎,用户对搜索结果页的使用体验,这块是最近作弊最多的部分,所以这部分会随着搜索引擎的反作弊算法干预,有时甚至可能会进行人工干预;
按照上述搜索引擎的基本步骤,在整个搜索引擎工作流程中大概会涉及Spider、内容处理、分词、去重、索引、内容相关性、链接分析、判断页面用户体验、反作弊、人工干预、缓存机制、用户需求分析等模块。
接下来,我们也可以直接针对各个模块进行相对应的学习: