深入搜索引擎的关键——索引
深入搜索引擎的关键——索引
本文节选自《深入搜索引擎——海量信息的压缩、索引和查询 》一书 序言
将信息以压缩形式存储在全文数据库中,这其实只是解决信息爆炸这一难题的全部解决方案中的一部分。第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/