点值在ES/Lucene里面,应该是很广泛的。如果你建一个double类型的,或者date类型的字段,或者Geo地理数据。
.... ...
https://amazingkoala.com.cn/Lu ... Tree/
博客里只说了有8个叶子的情况,如果叶子数量不是2的N次方呢,可以这么分,
但假如我有3个叶子,你怎么分呢???
.... ...
https://amazingkoala.com.cn/Lu ... Tree/
博客里只说了有8个叶子的情况,如果叶子数量不是2的N次方呢,可以这么分,
但假如我有3个叶子,你怎么分呢???
4 个回复
Charele - Cisco4321
赞同来自:
这是里面写和读内部节点时候的代码(图上有类名)
写里面说,只要suffix > 1,我就写
读里面说,只要suffix > 0,我就读。
写和读的条件不一致,这会不会出现什么问题啊,
被这个困扰了几天,,,
pzw9696
赞同来自:
Charele - Cisco4321
赞同来自:
代码主要在BKDWriter, BKDReader, PointValues这三个类中,,,
自己解释下,如果你也想了解点值,可能会有帮助。
1
新版Lucene里,这个节点树,肯定是非平衡的。
大神博客里只提到像8个叶子的平衡树,
至于老版本里,如果是7个叶子节点,它是怎么搞的,不去管了。
Charele - Cisco4321
赞同来自:
这里关于节点(内部节点和叶节点两种)信息的读写
(就是kdi文件里的东西)
如果这里suffix == 1,会否有问题。
其实是没有问题的