分词与倒排索引

什么是全文检索

  • 全文检索是指计算机索引程序通过扫描文章中的每一个词。
  • 对每一个词建立一个索引,指明该词在文章中出现的次数和位置。
  • 当用户查询时,检索程序就根据事先建立的索引进行查找。
  • 将索引中单词对应的文本位置、出现的次数返回给用户。
  • 因为有了具体文本的位置,所以就可以将具体内容读取出来了。

正排索引

文档 id 到文档内容和单词的关联,类似于 MySQL 的 Id 主键那样

倒排索引

单词到文档 id 的关联

倒排索引原理

image-20220105223422777

倒排索引项:

  • 文档 ID:用于获取原始信息
  • 单词频率 TF:记录该单词在该文档中的出现次数,用于后续相关性算法
  • 位置 Position:记录单词在文档中分词的位置,用于语句搜索 (phrase query)
  • 偏移 Offset:记录单词在文档的开始和结束位置,实现高亮显示
posted @ 2022-01-05 22:38  BNTang  阅读(93)  评论(0编辑  收藏  举报