作为一个优秀的分布式存储、搜索组件,了解 elasticsearch 的工作原理对于我们日常使用和技术提升都是非常有必要的。
本文,我们就抽丝剥茧,详细看看这个强大的分布式搜索引擎是如何工作的。...例如,mysql 通过多分支的 B+ 树索引,成功减少了磁盘 IO 次数,同时兼顾了范围查询等功能与写入性能,但因为 B+ 树作为多分支树,在其分支数量与高度的限制下,当数据库容量增长到一定程度,随之造成的磁盘...同时,FST 是一种十分节省内存的树结构,后面有时间博主再单独发文章来介绍这个数据结构。...posting list 为 [1, 3, 4, 7, 10],那么可以按二进制位建立一个 bitset:[1, 0, 1, 1, 0, 0, 1, 0, 0, 1]
多个 bitset 只需要进行按位与操作就可以得到最终的交集...后记
本文详细介绍了 Elasticsearch 借以实现极高的查询性能的底层文档存储结构与索引结构。
那么,集群上多个 node。
之间是如何相互协同工作的呢?他们是如何实现数据的写入和读取的呢?