Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
New
Description
Today, Lucene's dynamic range faceting uses a simple linear search to
find which ranges match, but there are known data structures to do
this in log(N) time. I played with segment trees and wrote up a blog
post here:
http://blog.mikemccandless.com/2013/12/fast-range-faceting-using-segment-trees.html
O(N) cost is actually OK when number of ranges is smallish, which is
typical for facet use cases, but then scales badly if there are many
ranges.