对于结构化数据,字段的值叫term,为每个字段建立单独的倒排索引
如书籍信息表:

其中建立了两个这样的索引


一般 Term 都是按照顺序排序的,排序后的 Term 就组成了索引表 Term Dictionary,Term Dictionary 往往很大,无法完整放入内存,这是为了更快的查询,还需要再给它创建索引,也就是 Term Index ,ElasticSearch 使用 Burst-Trie 结构来实现 Term Index,它是一种前缀树 Trie 的一种变种,它主要是将后缀进行了压缩,降低了Trie的高度,从而获取更好查询性能。Term Index 都是全部缓存在内存中,查询时,先通过其快速定位到 Term Dictionary 对应的大致范围,然后再进行磁盘读取查找对应的 Term,这样就大大减少了磁盘 I/O 的次数
网友评论