CM开发日志 - 搜索引擎(四) - Lucene 反向索引
来源:互联网 发布:centos安装oracle失败 编辑:程序博客网 时间:2024/04/29 21:05
什么是反向索引?(很多文章也称为倒排索引)
索引技术主要有以下3种: 反向索引,后缀数组和签名文件。其中, 反向索引技术在当前大多数的信息检索系统中得到了广泛的应用, 它对于关键词的搜索非常有效, 在lucene中也是使用的这种技术。后缀数组技术在短语查询中具有很快的速度, 但是这样的数据结构在构造和维护时都比较复杂一些。签名文件技术在20世纪80年代比较流行, 但是后来反向索引技术逐渐超越了它。
反向索引是目前搜索引擎公司对搜索引擎最常用的存储方式, 也是搜索引擎的核心内容, 反向索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值, 而是由属性值来确定记录的位置, 因而称为反向索引。反向索引是以关键字和文档编号结合, 并以关键字作为主键的索引结构。
应用举例
Solr 使用了 Lucene 的反响索引为【快速搜索】提供动力。虽然我们不会深入介绍太多 Luncene 内部的数据结构,但是了解反向索引的【基本结构】还是非常有必要的。回想一下前面用过的搜索书籍的例子,我们可以在下表中看到索引是如何将关键字映射到文档的:
传统的数据库表示文档需要使用文档 ID 来映射文档中包含了关键字的一个或多个字段,而反向索引刚好和这种方式相反(因此叫做反向索引),它映射关键字到包含了这个关键字的文档ID。你可以通过上面的表格看到,原始数据通过空格分开,并且全部转换成了小写字母后存入了反向索引,而其它一切都保持不变。还要注意的是,不仅仅是上面的这些简单的信息,另外附加的一些文本内容也有可能被添加到反向索引。所有的关键字可以在进行内容分析的时候进行修改,添加或删除。
最后还有两个关于反向索引的细节需要了解:
- 所有在索引中的关键字可以映射到一个或多个文档。
- 反向索引中的关键字按照字典顺序升序排列。
好了,现在我们已经对反向索引有个大致的了解。更多细节部分可查看 Lucene 相关资料。
1 0
- CM开发日志 - 搜索引擎(四) - Lucene 反向索引
- CM开发日志 - 搜索引擎(一)
- CM开发日志 - 搜索引擎(二)
- CM开发日志 - 搜索引擎(三)
- 开发搜索引擎初步(一)建立索引(Lucene实现)
- 开发搜索引擎初步(一)建立索引(Lucene实现)
- lucene搜索引擎(文件索引、数据库索引)
- lucene搜索引擎(文件索引、数据库索引)
- CM开发日志 - 引言
- Lucene搜索引擎开发高级部分1(索引的建立和优化)
- 使用Lucene开发简单的站内新闻搜索引擎(索引库的创建)
- CM开发日志 - Site Map
- lucene 搜索引擎 创建索引过程
- 搜索引擎lucene之文本文件索引
- Lucene教程(四)- 基本索引操作
- Lucene索引维护(四)
- 搜索引擎迈进四 反向链接
- Lucene.Net 2.3.1开发介绍 —— 三、索引(四)
- 看好你的门-攻击数据存储区(5)-LDAP注入攻击
- 任务目标配置格式的设计
- java 填写模板表格和动态生成表格
- 第2周项目-课后实践·阅读程序(1)
- 毕设笔记
- CM开发日志 - 搜索引擎(四) - Lucene 反向索引
- 看好你的门-攻击数据存储区(6)-LDAP盲注入
- 程序员必须知道的10大基础实用算法及其讲解
- JavaScript中的backgroundPosition的设置
- leetcode_98_Validate Binary Search Tree
- 游戏buff的设计
- 联网权限
- 东方通国产化基础软件——企业服务总线TongESB,求客户、求伙伴、求渠道,合作共赢!
- 看好你的门-保护数据存储区(1)-SQL注入防御