搜索引擎普遍采用全文检索技术,而其处理的大规模文档本身都是非结构或半结构化信息,文档索引技术是信息全文检索和快速查询的基础。
一、索引概述
索引是一种数据存储的组织结构。索引器用来完成信息索引的建立,维护和管理索引的功能。
倒排索引是一种高效率的索引组织方式,采用字或词作为索引项,能够很好的支持多种检索模型,提供高性能的检索。搜索引擎的索引使用了传统信息检索中的索引模型。索引结构通常组织成按照索引项排列的链表形式,在检索时,使用检索词和索引项进行匹配,直接定位在检索结果所在的列表。
二、索引器上下环境
索引器从原始文档中抽取索引项,用于表示文档,并生成文档集合的索引表。索引器运行环境涉及到的主要内容是文本预处理和检索数据库。主要包括原始文本库(网页或者文档),文本解析器(分析网页和文档内容,统一为无格式文档或者中间格式文档),文本中间格式库(去除噪音垃圾信息,完成分词之后的纯文本或者统一的中间格式),索引器(对解析器处理的结果信息进行处理,利用预设的索引项字典建立按索引项排列的链表,并动态更改索引字典),索引字典(词和编码的二元组结构数据库),文本索引库(以索引形式组织存放的数据文件)。
三、倒排索引原理
索引技术的核心机制是倒排索引结构。大规模数据一般都是文件形式存储,倒排索引是利用索引关键字直接确定文档列表,最后确定希望找到的文档本身。
四、索引分类
索引的分类一般从两个角度考虑,索引处理的索引项的类型(字索引、词索引、短语索引、混合索引)和索引建立更新的形式(静态和动态)。
五、高性能索引的关注方向
1-如何提高索引建立的速度。
2-如何减少索引的资源占用。
3-索引使用当中如何合理分配有限的内存资源。
4-如何提高资源的访问速度。