最近对研究搜索引擎有浓厚的兴趣,在这里总结如下:
搜索引擎的信息来源于互联网网页,通过网络爬虫将整个互联网的信息获取到本地,因为网页中有相当大比例的内容是完全相同或近似重复的,网页去重模块会对此进行检测,并去除重复内容。
之后搜索引擎会对网页进行解析,抽取出网页主体内容,以及页面包含的指向其他页面的链接。为了加快响应用户查询,网页内容通过“倒排索引”这种高效查询数据结构来保存,而网页之间的链接关系也会予以保存。通过“链接分析”可以判断页面重要性,这对于提高准确性帮助很大。
由于网页数量太多,搜索引擎不仅需要保存网页原始信息,还要存储一些中间的处理结果,这就需要搭建优秀可靠的云存储和云计算平台。
当搜索引擎接收到用户的查询词后,首先需要对查询词进行分析,希望能够结合查询词和用户信息来正确推导用户的真正搜索意图。之后首先在缓存中查找,缓存系统存储了不同的查询意图对应的搜索结果,如果缓存有满足要求的信息,直接将搜索结果返回给用户,反之,调用“网页排序”模块功能,根据用户的查询实时计算哪些网页是满足用户信息需求的,并排序输出作为搜索结果。网页排序最重要的两个参考因素:内容相似性和网页重要性。
搜索引擎的“反作弊”模块成为日益重要的功能。各种作弊方式流行,通过各种手段将网页的搜索排名提高到与网页质量不相称的位置,会严重影响用户体验,所以研究如何发现作弊网页,成为非常重要的组成部分。