Daily Report 2012.11.02 陈伯雄(step4)

在初步实现数据库读取的基础上,我寻找更加有效快捷的数据库查询方法:倒排索引。

以下是网上找到的一些资料:

  倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(invertedindex)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(invertedfile)。

  倒排文件(倒排索引),索引对象是文档或者文档集合中的单词等,用来存储这些单词在一个文档或者一组文档中的存储位置,是对文档或者文档集合的一种最常用的索引机制。搜索引擎的关键步骤就是建立倒排索引,倒排索引一般表示为一个关键词,然后是它的频度(出现的次数),位置(出现在哪一篇文章或网页中,及有关的日期,作者等信息),它相当于为互联网上几千亿页网页做了一个索引,好比一本书的目录、标签一般。读者想看哪一个主题相关的章节,直接根据目录即可找到相关的页面。不必再从书的第一页到最后一页,一页一页的查找。

  总的来说就是给定了一串要搜索的关键字,和待搜索的文本,有了关键词后,我们就可以建立倒排索引。倒排索引把“拥有该关键词的文本”对 “关键词”倒过来,变成:“关键词”对“拥有该关键词的文本”,然后搜索相应关键字就是取交集的过程。

  以下是原理图:

  

另外附上数据库查询优化策略:http://www.cnblogs.com/prvin/archive/2012/09/28/2706642.html

 

 

posted @ 2012-11-02 22:47  DOOM_buaascse  阅读(246)  评论(0编辑  收藏  举报