Elasticsearch倒排索引的核心组成
倒排索引包含单词词典和倒排列表两个部分。
1.单词词典(Term Dictionary),记录所有文档的单词,记录单词到倒排列表的关联关系
- 单词词典一般比较大,可以通过B+树或哈希拉链法实现,以满足高性能的插入与查询
2.倒排列表(Posting List),记录了单词对应的文档结合,由倒排索引项组成
- 倒排索引项(Posting)
1)文档 ID
2)词频TF 该单词在文档中出现的次数,用于相关性评分
3)位置(Position)单词在文档中分词的位置。用于语句搜索(phrase query)
4)偏移(Offset) 记录单词的开始结束位置,实现高亮显示