BKD tree

Block k-d tree — how Lucene range-filters numeric, date, IP and geo fields.

64 points · leaf 8 · 1 dim · clustered
  • cell still over the leaf limit
  • cell written as a leaf block
node 1dim 0 37–950node 1 · dim 0 37–950 · splits at 597 · 64 pointsnode 2dim 0 37–597node 2 · dim 0 37–597 · splits at 289 · 32 pointsnode 4dim 0 37–289node 4 · dim 0 37–289 · splits at 220 · 16 pointsleaf 08 ptsleaf 0 · 8 pointsleaf 18 ptsleaf 1 · 8 pointsnode 5dim 0 289–597node 5 · dim 0 289–597 · splits at 467 · 16 pointsleaf 28 ptsleaf 2 · 8 pointsleaf 38 ptsleaf 3 · 8 pointsnode 3dim 0 597–950node 3 · dim 0 597–950 · splits at 781 · 32 pointsnode 6dim 0 597–781node 6 · dim 0 597–781 · splits at 708 · 16 pointsleaf 48 ptsleaf 4 · 8 pointsleaf 58 ptsleaf 5 · 8 pointsnode 7dim 0 781–950node 7 · dim 0 781–950 · splits at 792 · 16 pointsleaf 68 ptsleaf 6 · 8 pointsleaf 78 ptsleaf 7 · 8 points
7 / 7

node 7 · split dim 0 at 792 · 16 points → 8 + 8

optionsCorpus and dimensions
points
maxPointsInLeafNode
distribution
dimensions
dimension names
Used on the axes, in the tree, and in the query readout. Leave blank for dim {n}.

With more than two dimensions the field shows a projection: the axes you pick, with every other dimension left unconstrained. Watch blocks read climb as dimensions go up — the tree spends its splits on dimensions your query does not narrow.