来源:e800.com.cn


搜索引擎的系统架构

这里主要针对全文检索搜索引擎的系统架构进行说明,下文中提到的搜索引擎如果没有特殊说明也是指全文检索搜索引擎。搜索引擎的实现原理,可以看作四步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索→对搜索结果进行处理和排序。  

1、从互联网上抓取网页

利用能够从互联网上自动收集网页的 网络蜘蛛 程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到服务器中。

2、建立索引数据库

由索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。

3、在索引数据库中搜索

当用户输入关键词搜索后,分解搜索请求,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。

4、对搜索结果进行处理排序

所有相关网页针对该关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。

下图是一个典型的搜索引擎系统架构图,搜索引擎的各部分都会相互交错相互依赖。其处理流程按照如下描述:

“ 网络蜘蛛 ”从互联网上抓取网页,把网页送入“ 网页数据库 ”,从网页中“ 提取URL ”,把URL送入“ URL数据库 ”,“ 蜘蛛控制 ”得到网页的URL,控制“ 网络蜘蛛 ”抓取其它网页,反复循环直到把所有的网页抓取完成。

系统从“ 网页数据库 ”中得到文本信息,送入“ 文本索引 ”模块建立索引,形成“ 索引数据库 ”。同时进行“ 链接信息提取 ”,把链接信息(包括锚文本、链接本身等信息)送入“ 链接数据库 ”,为“ 网页评级 ”提供依据。

“ 用户 ”通过提交查询请求给“ 查询服务器 ”,服务器在“ 索引数据库 ”中进行相关网页的查找,同时“ 网页评级 ”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过“ 查询服务器 ”按照相关度进行排序,并提取关键词的内容摘要,组织最后的页面返回给“ 用户 ”。

中文搜索引擎技术揭密:系统架构(三)相关推荐

  1. 中文搜索引擎技术揭密:网络蜘蛛

    [e800.com.cn 专稿]搜索引擎一直专注于提升用户的体验度,其用户体验度则反映在三个方面:准.全.快.用专业术语讲是:查准率.查全率和搜索速度(即搜索耗时).其中最易达到的是搜索速度,因为对于 ...

  2. 中文搜索引擎技术揭密:网络蜘蛛(四)

    来源:e800.com.cn 内容提取 搜索引擎建立网页索引,处理的对象是文本文件.对于网络蜘蛛来说,抓取下来网页包括各种格式,包括html.图片.doc.pdf.多媒体.动态网页及其它格式等.这些文 ...

  3. 中文搜索引擎技术揭密:排序技术(五)

    来源:e800.com.cn 排序技术的发展趋势 各种搜索引擎的技术改进和优化,都直接反应到搜索结果的排序上.许多搜索引擎都在进一步研究新的排序方法,来提升客户的满意度.专业人士认为,目前的搜索引擎排 ...

  4. 中文搜索引擎技术揭密:系统架构(五)

    来源:e800.com.cn 搜索引擎细化趋势 随着搜索引擎市场空间越来越大,搜索引擎也分得越来越细.互联网没有国界,百度总裁李彦宏所讲:搜索引擎市场是赢家通吃的市场.如果一个搜索引擎要想在搜索市场上 ...

  5. [转载]中文搜索引擎技术揭密:中文分词

    前言 信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google.百度.yisou.中搜等大型搜索引擎一直人们讨论的话题.随着搜索市场价值的不断增加,越来越多的公司开发出自己的搜索引擎,阿里巴 ...

  6. 中文搜索引擎技术揭密:排序技术(三)

    来源:e800.com.cn 其他方法 HillTop算法: HillTop同样是一项搜索引擎结果排序的专利,是Google的一个工程师Bharat在2001年获得的专利.Google的排序规则经常在 ...

  7. 中文搜索引擎技术揭密:网络蜘蛛(二)

    来源:e800.com.cn 网络蜘蛛基本原理 网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻 ...

  8. 浅谈搜索引擎技术原理与架构

    转载自:https://www.cnblogs.com/faruxue/p/4932009.html 搜索引擎是我们非常熟悉的互联网产品,上网都离不开搜索,毫无疑问,在pc端,是多数流量的入口.大家都 ...

  9. linux man 中文 mac,技术|MAC 系统中显示中文MAN手册

    最近在做中文MAN手册的翻译,发现MAC系统中的MAN命令不能像多数Linux发行版那样很好的显示中文MAN手册. 根据查找的资料,找到了解决方法: 1.首先要更新你的系统中的 groff 包,MAC ...

最新文章

  1. 皮一皮:泡沫面膜,直男慎送此礼物...
  2. python实现ldap接入
  3. 程序员取名:用大数据分析一下宝宝取名时最容易重复的名字
  4. 《女仆咖啡帕露菲》香浓背后,激励的力量
  5. 【Java】基于注解开发初探
  6. 拼多多联合五菱宏光等推出“买车包油”活动 规定时间下单可获首年油费补贴...
  7. 【报告分享】中国“新基建”发展研究报告.pdf(附下载链接)
  8. maven私服的使用
  9. turtlebot3 模型没有显示_Turtlebot3新手教程:Open-Manipulator机械臂
  10. 观察者模式——JavaScript
  11. 【毕业设计】深度学习人脸表情识别系统 - python
  12. Hyperledger Fabric之Explorer区块链浏览器
  13. mysql-community-server是什么?
  14. IDEA中创建编写JSP
  15. 基于c语言图像边缘检测的程序,图像边缘检测之拉普拉斯(Laplacian)C++实现
  16. 中国食品加工用酶市场趋势报告、技术动态创新及市场预测
  17. word2010 论文引用/文献插入 保姆级图解
  18. RxJava学习笔记---简单使用
  19. deepin中安装teams
  20. ubuntu 10.04 wine qq2009

热门文章

  1. 数据库Mysql——sql语句大全
  2. 盐雾实验有什么作用?
  3. ble-mesh学习笔记(11)小米平台ble-mesh概述
  4. Cisco ❀ LLMNR-本地域名解析服务
  5. 十进制转换任意进制--链栈实现
  6. 冬日娜刻薄提问雷哭史冬鹏 无厘头堪比韩乔生
  7. 微信小程序实现与后台PHP交互
  8. 扎牢基础,深入底层,面试我可造火箭:MySQL+JVM+23种设计模式
  9. mysql修改表中文名_MySQL中如何修改表的名字?修改表名?
  10. 自动化测试的几个优势