行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。

ES底层究竟会有多复杂整不明白

Elasticsearch | 作者 Charele | 发布于2022年07月24日 | 阅读数:445

比如点值,它是无所不在的,如果你建一个double类型的,或者date类型的,就会用到。
 
你在用ES的时候,即使不知道“点值”为何物,也可以把ES用得很6。
但当你想去深究的时候,发现困难无比。
  唯一能参考的就是Koala大神的那个博客了,我贴一张里的图:
6.png

左边叶节点的结构,差不多就是这样子,
但右边“内部节点”的,
博客里说内部节点分为4种,会依次写入这4种结构数据。
(看右边长条,4种颜色表示4种类型)
 
 也许是版本原因,当你去看代码时,完全不是这样子的。
再也不是这种“一分为二”的形状了,比如我有5个叶子,你怎么一分为二?
 另外,内部节点类型也不是“分为4种"了,界限变得模糊了,所以理解起来就困难了。
 
 
 
已邀请:

Charele

赞同来自:

111.png

222.png

 
这是里面写和读内部节点时候的代码(图上有类名)
写里面说,只要suffix > 1,我就写
读里面说,只要suffix > 0,我就读。
 
写和读的条件不一致,这会不会出现什么问题啊,
被这个困扰了几天,,,

pzw9696

赞同来自:

作者的github地址 https://github.com/LuXugang/Lucene-7.5.0 ,他的文章要结合版本来看,lucene 7、8以及8.x有些数据存储结构变化挺大的。

要回复问题请先登录注册