对于网络蜘蛛技术和排序技术请参考作者其它文章[1][2],这里以Google搜索引擎为例主要介绍搜索引擎的数据索引和搜索过程。

数据的索引分为三个步骤:网页内容的提取、词的识别、标引库的建立。

互联网上大部分信息都是以HTML格式存在,对于索引来说,只处理文本信息。因此需要把网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的广告信 息,同时记录文本的版面格式信息[1]。词的识别是搜索引擎中非常关键的一部分,通过字典文件对网页内的词进行识别。对于西文信息来说,需要识别词的不同 形式,例如:单复数、过去式、组合词、词根等,对于一些亚洲语言(中文、日文、韩文等)需要进行分词处理[3]。识别出网页中的每个词,并分配唯一的 wordID号,用于为数据索引中的标引模块服务。

标引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引:文档标引和关键词标引。 文档标引分配每个网页一个唯一的docID号,根据docID标引出在这个网页中出现过多少过wordID,每个wordID出现的次数、位置、大小写格 式等,形成docID对应wordID的数据列表;关键词标引其实是对文档标引的逆标引,根据wordID标引出这个词出现在那些网页(用wordID表 示),出现在每个网页的次数、位置、大小写格式等,形成wordID对应docID的列表。

关于索引数据的详细数据结构,有兴趣的朋友可以参看文献[4]。

搜索的处理过程是对用户的搜索请求进行满足的过程,通过用户输入搜索关键字,搜索服务器对应关键词字典,把搜索关键词转化为wordID,然后在标引库中 得到docID列表,对docID列表进行扫描和wordID的匹配,提取满足条件的网页,然后计算网页和关键词的相关度,根据相关度的数值返回前K篇结 果(不同的搜索引擎每页的搜索结果数不同)返回给用户。如果用户查看的第二页或者第多少页,重新进行搜索,把排序结果中在第K+1到2*K的网页组织返回 给用户。其处理流程如下图所示:

搜索引擎的索引和搜索相关推荐

  1. 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引

    数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引 [建立一个搜索引擎大致需要做这样几件事:自动下载尽可能多的网页:建立快速有效的索引:根据相关性对网页进行公平准确的排序.我们在介绍 Googl ...

  2. lucene索引搜索_Lucene –快速添加索引和搜索功能

    lucene索引搜索 什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库. 它是一项适用于几乎所有需要全文本搜索的应用程序的技术,尤其是跨平台. ...

  3. Lucene –快速添加索引和搜索功能

    什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库. 它是一项适用于几乎所有需要全文搜索的应用程序的技术,尤其是跨平台的应用程序. Lucene ...

  4. 微信搜索引擎中索引的分布式演进

    一.引言 提起分布式,不少人能很清晰的阐述paxos.CAP等理论,但我们在遇到一个具体的分布式问题时,很少有人能知道如何做出一个"好"的设计.对于当前的很多分布式数据系统,包括开 ...

  5. 深耕ElasticSearch - 认识搜索引擎的索引

    文章目录 1.搜索引擎的工作原理 2.为什么将数据存在搜索引擎中? 3.正排索引 4.倒排索引基础概念 5.倒排索引简单示例 6.单词词典 7.倒排列表 8.建立索引 9.动态索引 1.搜索引擎的工作 ...

  6. 搜索引擎技术 —— 索引技术

    文章目录 索引 倒排索引 单词词典 动态索引 索引的建立 两遍文档遍历法 归并法 索引更新 多字段索引 参考文献 索引 搜索引擎的索引其实是实现<关键词,文档>映射的具体的数据结构,其实现 ...

  7. 国内搜索引擎的索引量意思汇总,了解索引与收录的关系

    随着搜索引擎对网站质量评估与监管,各大平台都面向站长提供了站长工具.站长工具对SEO优化起到很大的作用. 搜索站长工具中的索引量是什么?可能很多站长对索引量都有一些疑问. 书面意思:索引是将文献中具有 ...

  8. 如何测试搜索引擎的索引量大小

    背景知识: 搜索引擎的质量指标一般包括相关性(Relevance).时效性(Freshness).全面性(Comprehensiveness)和可用(Usability)等四个方面,今天我们要谈的索引 ...

  9. 点石互动--highdiy之:搜索引擎如何索引收录网页

    点石互动  highdiy 发表于 05月 9, 2007 对SEO(搜索引擎优化)而言,让网站内的页面能够及时.全面地被搜索引擎索引.收录应该说是首要的任务,这是实施其他SEO策略的最基本保证.-- ...

最新文章

  1. oracle教程之DML事务锁定的机制
  2. Swift数组扩容原理
  3. GridView列表数据的添加
  4. c++虚继承和虚函数和抽象类、接口类,聚合类
  5. Android 8.0 targetsdkversion升级到26填坑
  6. 缩放手势 ScaleGestureDetector 源码解析,这一篇就够了
  7. NGINX轻松管理10万长连接
  8. 前端学习(3316):connect
  9. Node.js笔记-node.js连接MySQL与增删改查
  10. linux对web后端重要吗,基于Linux的Web服务器性能测试
  11. python windows 消息通讯_如何使用python與windows中的事件/消息掛鈎
  12. hdu 2553 N皇后问题
  13. 运筹学 matlab实现运输问题(表上作业法)
  14. 【微信小程序中的股票分时图、K线图的源代码解析】
  15. 大学计算机教程王梦倩,【经验共享】中国矿业大学资源学院辅导员王梦倩
  16. 【模拟】1177.正方形
  17. matlab 矩阵位移法编程 结构力学,matlab-矩阵位移法编程-结构力学.doc
  18. 【产品经理学习笔记】Part 7 收益预估
  19. windows系统下scheme语言编程环境的搭建
  20. 继电器驱动电路(各种单片机、CD4013触发器驱动电路图)

热门文章

  1. 基于unity无人机3D仿真《一》
  2. pcs增加mysql资源_pcs命令配置示例
  3. 信息论小课堂:纠错码(海明码在信息传输编码时,通过巧妙的信道编码保证有了错误能够自动纠错。)
  4. Spring配置方式
  5. javascript中的三角函数和反三角函数
  6. 经济型EtherCAT运动控制器(一):功能简介与应用场景
  7. UCOSIII操作系统学习笔记——任务
  8. Mybatis源码解析——入门级
  9. 关于EJB,为什么用EJB?为什么不用EJB?
  10. fflush函数作用浅析