迅睿CMS免费开源框架
免费开源CMS
  • 首页
  • 产品动态
    • 官方公告
    • 功能介绍
    • 疑难解答
  • 产品购买
    迅睿建站程序

    迅睿CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。

    迅睿CMS产品
    迅睿建站系统
    安全加固系统
    国产化数据库
    小程序开发
    版本更新日志
    捐赠迅睿团队
    迅睿服务方案
    迅睿授权套餐
    网站服务套餐
    OEM版权套餐
    迅睿售后服务
    网站安全部署
    网站故障修复
    网站漏洞修补
    木马清理服务
    电商解决方案
    多用户商城方案
    供应链商城方案
    分销商城方案
    SAAS商城方案
    拼团/竞拍商城方案
    跨境电商方案
    品牌内购解决方案
    福利商城解决方案
    企业订货系统解决方案
    个性化定制方案
    企业官网设计
    行业网站设计
    门户网站设计
    多语言外贸网站设计
    APP小程序设计
  • 应用市场
    • 应用插件
    • 模板界面
    • 小程序
  • 源码下载
  • 开发服务
    • 开发服务
    • 提交需求
    • 官方服务
    • 开发报价
  • 技术支持
  • 帮助文档
    • 新手学习合集
    • 视频教程讲解

    • 新手入门指南
    • 后台操作教程
    • 二次开发文档
    • 插件开发文档
    • 模板制作教程
    • API接口开发
    • 插件使用教程
    • 常见问题汇总

    • 模板标签生成器
    • 自定义字段调用
    • API接口测试工具
  • 控制台

搜索引擎的技术架构

2021-08-30 13:53:43 CMS

搜索引擎的技术架构原理

作为互联网应用中最具技术含量的应用之一,优秀的搜索引擎需要复杂的架构和算法,以此来支撑对海量数据的获取、存储,以及对用户查询的快速而准确地响应。本节主要从宏观上介绍搜索引擎的整体架构和各个组成模块的功能。

从架构层面,搜索引擎需要能够对以百亿计的海量网页进行获取、存储、处理的能力,同时要保证搜索结果的质量。如何获取、存储并计算如此海量的数据?如何快速响应用户的查询?如何使得搜索结果能够满足用户的信息需求?这些都是搜索引擎面对的技术挑战。

如图所示是一个通用的搜索引擎架构示意图。搜索引擎由很多技术模块构成,各自负责整体功能的一部分,相互配合形成了完善的整体架构。

{xunruicms_img_title}

搜索引擎的信息源来自于互联网网页,通过网络爬虫将整个互联网的信息获取到本地,因为互联网页面中有相当大比例的内容是完全相同或者近似重复的,“网页去重”模块会对此做出检测,并去除重复

内容。

在此之后,搜索引擎会对网页进行解析,抽取出网页主体内容,以及页面中包含的指向其他页面的链接。为了加快响应用户查询的速度,网页内容通过“倒排索引”这种高效查询数据结构来保存,而网页之间的链接关系也会予以保存。之所以要保存链接关系,是因为这种关系在网页相关性排序阶段是可利用的,通过“链接分析”可以判断页面的相对重要性,对于为用户提供准确的搜索结果帮助很大。

由于网页数量太多,搜索引擎不仅需要保存网页原始信息,还要存储一些中间的处理结果,使用单台或者少量的机器明显是不现实的。Google等商业搜索引擎为此开发了一整套云存储与云计算平台,使用数以万计的普通PC搭建了海量信息的可靠存储与计算架构,以此作为搜索引擎及其相关应用的基础支撑。优秀的云存储与云计算平台已经成为大型商业搜索引擎的核心竞争力。

上面所述是搜索引擎如何获取并存储海量的网页相关信息,这些功能因为不需要实时计算,所以可以被看做是搜索引擎的后台计算系统。搜索引擎的最重要目的是为用户提供准确全面的搜索结果,如何响应用户查询并实时地提供准确结果构成了搜索引擎前台计算系统。

当搜索引擎接收到用户的查询词后,首先需要对查询词进行分析,希望能够结合查询词和用户信息来正确推导用户的真正搜索意图。在此之后,首先在缓存中查找,搜索引擎的缓存系统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则可以直接将搜索结果返回给用户,这样既省掉了重复计算对资源的消耗,又加快了响应速度;如果保存在缓存的信息无法满足用户需求,搜索引擎需要调用“网页排序”模块功能,根据用户的查询实时计算哪些网页是满足用户信息需求的,并排序输出作为搜索结果。而网页排序最重要的两个参考因素中,一个是内容相似性因素,即哪些网页是和用户查询密切相关的;另外一个是网页重要性因素,即哪些网页是质量较好或者相对重要的,这点往往可以从链接分析的结果获得。结合以上两个考虑因素,就可以对网页进行排序,作为用户查询的搜索结果。

除了上述的子功能模块,搜索引擎的“反作弊”模块成为日益重要的功能。搜索引擎作为互联网用户的上网入口,对于网络流量的引导与分流至关重要,甚至可以说起了决定性的作用。于是,各种“作弊”方式逐渐流行,通过各种手段将网页的搜索排名提高到与其网页质量不相称的位置,这会严重影响用户的搜索体验。所以,如何自动发现作弊网页并对其处罚,成为搜索引擎非常重要的组成部分。


上一篇:搜索引擎的3个核心问题
下一篇:通用爬虫框架介绍

Copyright © 四川迅睿云软件开发有限公司

蜀ICP备19023384号
川公网安备 51010602001037号
增值电信业务经营许可证:川B2-20211858