Elasticsearch入门 3—倒排索引

3 倒排索引


正排索引:文档ID到文档内容和单词的关联
倒排索引:单词到文档ID的关联

3.1 倒排索引的核心组成

倒排索引包含两个部分:
单词词典(Term Dictionary),记录所有文档的单词,记录单词到倒排列表的关联关系

  • 单词词典一般比较大,可以通过B+树或哈希拉链法实现,以满足高性能的插入与查询

倒排列表(Posting List),记录了单词对应的文档结合,由倒排索引项组成
倒排索引项(Postiing)

  • 文档ID
  • 词频TF — 该单词在文档中出现的次数,用于相关性评分
  • 位置(Position) — 单词在文档中分词的位置。用于语句搜索(phrase query)
  • 偏移(Offset)— 记录单词的开始结束位置,实现高亮显示

3.2 Elasticsearch的倒排索引

Elasticsearch的JSON文档中的每个字段,都有自己的倒排索引
可以指定对某些字段不做索引

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