数据结构11——倒排索引(基于全文倒排)

正文索引(Text Indexing)处理的就是“建立一个数据结构以提供对文本内容的快速检索”。

方法:词索引(word  index)与 全文索引(full-text index)


词索引

词索引基本思想

从正文中抽取出关键词,用这些关键词组成适合快速检索的数据结构,适用于可以很容易解析成一组词的集合的文本,适用于英文(不适用于中文等东方文字)


全文索引

全文索引基本思想

把正文看作一个字符串,在数据结构中记录子字符串的开始位置,查询就可以针对正文中的任何子字符串,可以对每个字符建立索引,使查询不再限于关键词,这会需要更大的空间


词索引使用最广泛

一个有序的关键词列表,每个关键词指向一个倒排表,指向该关键词出现文档集合以及在文档中的位置


如何建立倒排表

第一步,将所有文档文件的正文分割成多条记录,记录大小取决于程序的需要

(比如:定长的块、段落、章节)

第二步,给每条记录赋一组关键词

从记录中抽取关键词(人工或者自动)

第三步,建立正文倒排表、倒排文件

输入关键词的集合,对于每一个关键词建立其倒排表,所有的倒排表存入文件


如何使用关键词倒排表

第一步,在倒排文件中检索关键词。

第二步,如果找到了关键词,那么获取文件中的对应的倒排表,并获取倒排表中的记录


倒排文件的优劣

优:高效检索,用于文本数据库系统

劣:支持的检索类型有限 

        检索词有限

        空间代价往往很高

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容