深入搜索引擎的关键——索引

本文节选自《深入搜索引擎——海量信息的压缩、索引和查询 》一书 序言

将信息以压缩形式存储在全文数据库中,这其实只是解决信息爆炸这一难题的全部解决方案中的一部分。第2章所述的压缩技术可以节约大量的磁盘空间,它使得用同样空间存储更多的数据成为可能。但是压缩不能解决两大难题,一是信息如何组织才能方便高效地查询;二是数据相关部分如何才能快速地抽取,因此索引也就应运而生了。

许多人都能够熟练地使用书籍中的索引(本书的末尾也有一个索引表)1,例如在索引中查找单词“索引”,它就会引导你来到本页,使用索引不需要一页一页地搜索信息。而且如果索引本身也是可以理解的话,即便本书以其他语言来编写,也能够找到书中相关的页码。实际上,若是想从一本外文读物中找到一些信息,在索引的帮助下会省下不少的力气。因为可以雇用一个翻译者,然后仅翻译这些需要的页,而不需要翻译整本书籍。尽管这种场景听上去似乎不常见,但是这正是本书提到的一种应用场合。因为在信息检索系统中存储的压缩后的文档就好像是以一种其他语言编写的文档一样,在需要时必须付出一些翻译的代价。

一本没有索引的书很可能会让人感到失望,比如说,大多数人会在某些时候明明知道某个知识点就在书中,但就是通读全书,也找不到它。在电话本上查找某个政府部门的电话号码时,你可能很快就会被这样一个难题困扰,是应该用“Taxation Department”,还是用“Department of Taxation”,或是用“Federal Office of Revenue”来搜索呢?这种情形可真是让人麻烦连连。在新西兰,正确的回答是“Inland Revenue Department”;在澳大利亚则是“Australian Taxation Office”;在加拿大则是“Revenue Canada”,或者“Revenue Canada”,在美国则公认的是“IRS”。

查询之难主要根源于索引不完备,甚至有些场合根本没有索引。当然,对于一本正规的书籍(包括本书),读者完全可以浏览(skim-read)每页。或者根据各种上下文线索快速地找到,并细读(zero in)感兴趣的内容。但是对于计算机来说,我们将讨论的是GB级的数据。百万页,而不是几百页。几乎没有结构,也没有像书本提供的诸如标题这样的上下文线索或者提示。这样的数据如果要让人来浏览,成本是极大的。即便是采用机器方式的暴力搜索(exhaustive searching)2方法,其代价也是高昂的。如果没有可用的索引,付出的任何努力都是徒劳的。因此存储的信息需要被准确且全面地索引,这是自动检索系统是否成功的关键;否则我们就只有苦恼地看着积累越来越多的文档而不知所措。

相关文章:     深入搜索引擎——海量信息的压缩、索引和查询

更多精彩资源:
    设计博客    http://www.cnblogs.com/designbook
    博客园:    http://www.cnblogs.com/broadview/
    Web开发专栏    http://blog.csdn.net/broadviewwebdev
    嵌入式    http://blog.mcuol.com/Broadview/index.htm
    程序设计专栏http://blog.csdn.net/broadviewprograming
    数据库专栏    http://blog.csdn.net/broadviewdatabase
    Phpchina:    http://www.phpchina.com/home/space.php    
    Cn-java:    http://www.cn-java.com/www1/?564186/    
    Itpub:    http://space.itpub.net/13164110/

深入搜索引擎的关键——索引相关推荐

  1. Elasticsearch——分布式搜索引擎01(索引库、文档、RestAPI、RestClient、拼音分词器、IK分词器)

    Elasticsearch--分布式搜索引擎01(索引库.文档.RestAPI.RestClient.拼音分词器.IK分词器) 一.初识 elesticsearch 1.1 简介 1.2 倒排索引(重 ...

  2. 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查...

    第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)基本的索引和文档CRUD操作.增.删.改.查 elasticsearch(搜索引擎)基本的索引 ...

  3. 垂直搜索引擎的关键技术

    对于搜索引擎有几个关键的技术词语,如:网页抓取,网页解析,索引存储,查询接口,结果排序等等.但是对垂直搜索来说,又有些不同,何为垂直搜索,我的理解是只需要针对某个领域内的几个特定的网站,进行信息抓取. ...

  4. 大数据(二)Elasticsearch 分布式搜索引擎(存索引、索引搜索)

    一.Elasticsearch 存索引, Hbase 里存原数据 例如:一条告警上报过来,会同时存Hbase, ES里,Hbase存原数据,ES里只存索引(包含告警ID, 告警级别,告警状态,告警时间 ...

  5. 搜索引擎(混合索引)

    http://sewm.pku.edu.cn/TianwangLiterature/Other/%5B%C5%ED%B2%A8,2004%5D/042206.pdf

  6. logstash创建不了索引_「技术选型」Elasticsearch vs. Solr-选择您的开源搜索引擎

    我们为什么在这里?我存在的目的是什么?我应该运动还是休息并节省能量?早起上班或晚起并整夜工作?我应该将炸薯条和番茄酱或蛋黄酱一起吃吗? 这些都是古老的问题,可能有也可能没有答案.其中一些是非常困难或非 ...

  7. 索引超出矩阵维度_搜索引擎技术之倒排索引原理详解,及案例分析

    1.倒排索引的思想 2."单词-文档矩阵" 3.倒排索引的基本框架 4.单词字典 5.倒排索引的实例 倒排索引是搜索引擎中最为核心的一项技术之一,可以说是搜索引擎的基石.可以说正是 ...

  8. 用 Golang 写一个搜索引擎(0x07)--- 正排索引

    最近各种技术盛会太多,朋友圈各种刷屏,有厂商发的各种广告,有讲师发的各种自拍,各种参会的朋友们各种自拍,好不热闹,不知道你的朋友圈是不是也是这样啊,去年还没这么多技术会议,今年感觉爆发了,呵呵,真是一 ...

  9. 用Golang写一个搜索引擎(0x07)--- 正排索引

    最近各种技术盛会太多,朋友圈各种刷屏,有厂商发的各种广告,有讲师发的各种自拍,各种参会的朋友们各种自拍,好不热闹,不知道你的朋友圈是不是也是这样啊,去年还没这么多技术会议,今年感觉爆发了,呵呵,真是一 ...

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

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

最新文章

  1. 我也说说Emacs吧(6) - Lisp速成
  2. Oracle DSI(Data Server Internals) 下载说明
  3. R语言常用包分类总结
  4. Java基础系列--Executor框架(一)
  5. 阿里的财报,释放了什么信号?
  6. win7系统备份还原软件_收藏备用!操作系统的快速备份与还原技巧
  7. MVC4 WebAPI
  8. 成大事必备的9种心态
  9. abaqus生成adams柔性体_基于ADAMS 的大型反铲挖泥机加装破碎锤 结构动力学分析
  10. Python爬虫解析网页的4种方式 值得收藏
  11. I/O多路复用——Reactor模式
  12. 软件工程师如何自学成才?
  13. Linux记录-重启后磁盘丢失问题解决方案
  14. R语言中写入Excel的不同sheet表格
  15. 逻辑回归案例模板——信用卡欺诈检测
  16. Keil uVison4下载、安装、使用说明
  17. toolchain安装教程支持_riscv-gnu-toolchain的安装经历
  18. 博图SCL 选择排序
  19. rust炼油机怎么搞_rust挖油机在哪个位置 | 手游网游页游攻略大全
  20. HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作

热门文章

  1. RQNOJ 140 分配时间:dp
  2. Flask-SQLALchemy查询
  3. git卡在Resolving deltas 100%的解决办法
  4. 两种改变 Windows Vista UI语言的途径
  5. 做好一个系统分析师、项目经理75条准则
  6. (对比PDF)Adobe Acrobat DC 离线对比PDF、draftable.com/compare 在线对比PDF
  7. Linux操作系统中pkg-config用法示例
  8. Solr 05 - Solr Web管理界面的基本使用
  9. 【Selenium2】【Shell】
  10. 获取选择的当前天、周、月、年的时间段