关于搜索引擎的倒排索引技术

写一个桌面搜索引擎还不简单?只要了解一下倒排索引的概念,每个有兴趣的程序员,花点时间,都能写出来一个自己的桌面搜索引擎。

为什么搜索引擎的查询速度这么快? 说明白了很简单,核心技术就是 “倒排索引”。

“倒排索引”这个名词很唬人,其实原理很简单。

假设有3篇文章,file1,file2,file3,文件内容如下: 

file1 (单词1,单词2,单词3,单词4....)

file2 (单词a,单词b,单词c,单词d....)

file3 (单词1,单词a,单词3,单词d....)

建立的倒排索引就是这个样子:

单词1 (file1,file3)

单词2 (file1)

单词3 (file1,file3)

单词a (file2, file3)

....

这就是倒排索引,很简单吧。

比如一个文件要建立索引,就先把它抽成纯文本的格式,然后把一个一个的单词切割出来,每个单词在数据库里是一条记录,单词作为关键字,后面跟着文件的标识ID,位置。

我写的桌面搜索引擎 ftfind, 内部也采用了倒排索引技术。http://www.18ie.com

倒排索引技术,点破了很简单,我想每个有兴趣的程序员,花点时间,都能写出来一个自己的桌面搜索引擎。

还用google desktop search 干什么?看着它右边不时冒出来的广告窗口,心里就不爽。

为什么不自己写一个呢,随心所欲,自由自在。

下面收集一些需要进一步了解的知识。 

在使用索引进行查找时,首先对需要索引的文档进行预处理,建立关于这些文档的索引结构。索引的技术主要有以下3种:倒排索引,后缀数组和签名文件。其中,倒排索引技术在当前大多数的信息检索系统中得到了广泛的应用,它对于关键词的搜索非常有效,在Lucene中也是使用的这种技术。后缀数组技术在短语查询中具有很快的速度,但是这样的数据结构在构造和维护时都比较复杂一些。签名文档技术在20世纪80年代时期比较流行,但是后来倒排索引技术逐渐超越了它。

 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值