正文索引(Text Indexing)处理的就是“建立一个数据结构以提供对文本内容的快速检索”。
方法:词索引(word index)与 全文索引(full-text index)
词索引
词索引基本思想
从正文中抽取出关键词,用这些关键词组成适合快速检索的数据结构,适用于可以很容易解析成一组词的集合的文本,适用于英文(不适用于中文等东方文字)
全文索引
全文索引基本思想
把正文看作一个字符串,在数据结构中记录子字符串的开始位置,查询就可以针对正文中的任何子字符串,可以对每个字符建立索引,使查询不再限于关键词,这会需要更大的空间
词索引使用最广泛
一个有序的关键词列表,每个关键词指向一个倒排表,指向该关键词出现文档集合以及在文档中的位置
如何建立倒排表
第一步,将所有文档文件的正文分割成多条记录,记录大小取决于程序的需要
(比如:定长的块、段落、章节)
第二步,给每条记录赋一组关键词
从记录中抽取关键词(人工或者自动)
第三步,建立正文倒排表、倒排文件
输入关键词的集合,对于每一个关键词建立其倒排表,所有的倒排表存入文件
如何使用关键词倒排表
第一步,在倒排文件中检索关键词。
第二步,如果找到了关键词,那么获取文件中的对应的倒排表,并获取倒排表中的记录
倒排文件的优劣
优:高效检索,用于文本数据库系统
劣:支持的检索类型有限
检索词有限
空间代价往往很高