从Lucene6.0开始出现点数据(Point Value)的概念,通过将多维度的点数据生成KD-tree结构,来实现快速的单维度的范围查询(比如 IntPoint.newRangeQuery)以及N dimesional shape intersection filtering。 .dim中的数据结构由一系列的block组成,在内存中展现为一颗满二叉树(单维度可能不是,这块内容会在介绍数值类型的范围查询时候介绍),并且叶子节点描述了所有的点数据。 看这篇文档之前,必须得了解多维度的点数据是如何生成一个满二叉树,否则会不理解一些本文章中的名词概念,而在本文中不会赘述这些名词。在Bkd-Tree中介绍了生成树的过程,请务必先看这篇文章。
看这里:https://www.amazingkoala.com.cn/Lucene/suoyinwenjian/2019/0424/53.html