1.Elasticsearch数据存储结构FST、skiplist、BKD-tree、LSM-tree
Elasticsearch数据结构存储流程_善思的博客-CSDN博客_elasticsearch 数据结构
number?keyword?傻傻分不清楚 - Elastic 中文社区
ElasticSearch实战(六)-Skip List 跳表算法(文档定位跳跃算法)_BasicLab基础架构实验室的博客-CSDN博客
Elasticsearch干货(三):对于数值类型索引优化_桃花惜春风的博客-CSDN博客
2.倒排索引
倒排索引:ES倒排索引底层原理及FST算法的实现过程_es fst_Elastic开源社区的博客-CSDN博客
【ElasticSearch 进阶】倒排索引 + FOR + RBM压缩算法_weixin_43315211的博客-CSDN博客
3.filter查询
我们首先了解一下Elasticsearch的filter查询。如果Elasticsearch中查询条件的多个filter,但实际上并像mysql那样按照每个filter的顺序执行,而是每一个filter都是单独执行的,最后把每个filter的结果集进行合并(参考)。
Elasticsearch有个cost函数,它会先估算每个filter的代价,然后从代价最低的开始迭代docid。并且根据term、and、or的不同,来决定不同的合并方式。合并结果集Lucene使用了跳表。