美文网首页
ES 的索引为什么比 Mysql的索引快 ---->Tire树

ES 的索引为什么比 Mysql的索引快 ---->Tire树

作者: 以梦为马驾驾驾 | 来源:发表于2019-07-09 20:31 被阅读0次

知识来源

答: 因为ES的倒排索引还做了 Term Index。

什么是Term Index?

: 将分词后的term进行排序索引,类似的mysql对于"term"(即主键,或者索引键)只是做了排序, 并且是大部分是放在磁盘上的,只有B+树的上层才是放在内存中的,查询仍然需要logN的访问磁盘,而ES将term分词排序后还做了一次索引,term index,即将term的通用前缀取出,构建成Trie树

trie树 :https://zh.wikipedia.org/wiki/Trie
这个树的缺点:存在大量字符串且这些字符串基本没有公共前缀,则相应的trie树将非常消耗内存

通过这个树可以快速的定位到Term dictionary的本term的offset,再经过顺序查找,便可以很快找到本term的posting list。

什么是FST?

知识来源

: Finite State Transducer
FST有两个优点:1)空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间;2)查询速度快。O(len(str))的查询时间复杂度。

Term Dictionary为什么节约空间?

Term dictionary 在磁盘上是以分 block 的方式保存的,一个 block 内部利用公共前缀压缩,比如都是 Ab 开头的单词就可以把 Ab 省去。这样 term dictionary 可以比 b-tree 更节约磁盘空间。

上个问题中的block和ES集成测试类ESIntegTestCase中的disableIndexBlock(String index, String block) 有关吗?

    /** Disables an index block for the specified index */
    public static void disableIndexBlock(String index, String block) {
        Settings settings = Settings.builder().put(block, false).build();
        client().admin().indices().prepareUpdateSettings(index).setSettings(settings).get();
    }

: 不知道

skip list 的原理是什么?

知识来源

: 跳跃表

相关文章

  • ES 的索引为什么比 Mysql的索引快 ---->Tire树

    知识来源 答: 因为ES的倒排索引还做了 Term Index。 什么是Term Index? 答: 将分词后的t...

  • MySQL查漏补缺

    MySQL查漏补缺 目录 唯一索引比普通索引快吗, 为什么MySQL由哪些部分组成, 分别用来做什么MySQL查询...

  • Mysql InnoDB B+树索引和哈希索引的区别?Mongo

    Mysql InnoDB B+树索引和哈希索引的区别?MongoDB 为什么使用B-树?

  • 避免回表与覆盖索引

    为什么要避免回表 mysql维护着两种索引树:聚集索引、非聚集索引。我们建立的索引都属于非聚集索引。通过非聚集索引...

  • mysql高级知识

    mysql高级知识系列目录 存储过程与函数 理解MySQL数据库覆盖索引 为什么 MySQL 索引要使用 B+树而...

  • InnoDB-索引

    四、索引 mysql支持的常见索引:B+,全文、hash 1.B+树索引 B+树索引可以分为聚簇索引和非聚簇索引。...

  • 探讨mysql的普通索引和唯一索引

    前言 mysql的唯一索引和普通索引有什么区别,从B+树的查找来讲普通索引比唯一索引多回了一次表(因为唯一索引已经...

  • 索引的作用,优缺点

    mysql : 使用B+树建立索引。 索引的优缺点:

  • 索引相关

    1.MySQL中使用较多的索引有Hash索引,B+树索引2.InnoDB默认索引实现为:B+树 hash索引 1....

  • MySQL索引原理及实现

    MySQL数据库支持多种索引,例如B树索引、哈希索引、全文索引等,本文着重讲解下B树索引。 主要内容: 索引本质 ...

网友评论

      本文标题:ES 的索引为什么比 Mysql的索引快 ---->Tire树

      本文链接:https://www.haomeiwen.com/subject/ftifkctx.html