倒排索引介绍

目录

图书和搜索引擎的类比

正派索引和倒排索引

倒排索引的核心组成


图书和搜索引擎的类比

  • 图书

    • 正排索引 ==目录页

    • 倒排索引 == 索引页

  • 索引引擎

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

    • 倒排索引 ==单词到文档ID的关系

正派索引和倒排索引

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

  • 倒排索引 ==单词到文档ID的关系

  • DocumentId:Position == 文档id和该单词在文档出现的位置

倒排索引介绍_第1张图片 

倒排索引的核心组成

  • 倒排索引包含两部分

    • 单词词典,记录所有文档的单词,记录单词到倒排列表的关联关系

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

    • 倒排列表 ==记录了单词对应的文档结合,由倒排索引项组成

      • 倒排索引项

        • 文档ID

        • 词频TF-该单词在文档出现的次数,用于相关性评分

        • 位置 ==单词在文档中分词的位置,用于语句搜索

        • 偏移 ==记录单词的开始位置,实现高亮显示

  • 一个例子:Elasticsearch 

倒排索引介绍_第2张图片

  • ElasticSearch的JSON文档中的每个字段,都有自己的倒排索引

  • 可以指定对某些字段不做索引

    • 优点:节省存储空间

    • 缺点:字段无法被搜索

 

你可能感兴趣的:(elasticsearch)