【lucene】pointDimensionCount` vs `pointIndexDimensionCount`:

`pointDimensionCount` vs `pointIndexDimensionCount`:

 

一个管“数据维度”,一个管“索引维度”——

 

后者只在对多维点做“数据降维”(`MultiDimensionCounter`)时才比前者小,其余场景俩值相等。

 

---

 

1. 数据维度 `pointDimensionCount`

 

- 你实际 add 的维度个数  

  

```java

  new IntPoint("pos", x, y, z) // 3 维 → pointDimensionCount = 3

  ```

 

- 决定 每个点值 packed 后的总字节

 

  `packedBytesLength = pointDimensionCount * bytesPerDim`

- 查询时 visitor 比较的维度数也是它

 

---

 

2. 索引维度 `pointIndexDimensionCount`

 

- 真正用来建 BKD 树的维度数

 

  默认 等于 `pointDimensionCount`  

- 唯一例外:`LongPoint.newDistanceQuery` / `LatLonPoint`

 

  它们内部用 MultiDimensionCounter 把 2D 经纬度映射到 1D 希尔伯特曲线

 

  → 于是  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值