分词与倒排索引
什么是全文检索
- 全文检索是指计算机索引程序通过扫描文章中的每一个词。
- 对每一个词建立一个索引,指明该词在文章中出现的次数和位置。
- 当用户查询时,检索程序就根据事先建立的索引进行查找。
- 将索引中单词对应的文本位置、出现的次数返回给用户。
- 因为有了具体文本的位置,所以就可以将具体内容读取出来了。
正排索引
文档 id 到文档内容和单词的关联,类似于 MySQL 的 Id 主键那样
倒排索引
单词到文档 id 的关联
倒排索引原理
倒排索引项:
文档 ID
:用于获取原始信息单词频率 TF
:记录该单词在该文档中的出现次数,用于后续相关性算法位置 Position
:记录单词在文档中分词的位置,用于语句搜索 (phrase query)偏移 Offset
:记录单词在文档的开始和结束位置,实现高亮显示