Hierarchical BM25: Lexical Search at Billion-Document Scale
Not on the map. Why?
Abstract (arXiv)
A flat BM25 index over one billion documents occupies about 400 GB. Holding it in memory requires DRAM proportional to corpus size. Serving it from disk takes 4-12 seconds per query. Exact top-k lexical retrieval at this scale is therefore impractical within an interactive latency budget. Hierarchical BM25 gives up exact ranking in exchange for fixed bounds on memory and latency. A resident coarse index selects which of ~1K topical, size-balanced document groups a query visits, using two signals: the total frequency of each query term within a group, and, for informative terms spread too thinly across groups for frequency totals to reflect, whether several of them appear together in one document. Selected groups are then searched exhaustively and scored against ~100 KB of global statistics. Every returned score therefore equals the flat index's score, and the approximation is confined to selection alone. The resident footprint is ~4.4 GB, independent of corpus size. Sixteen-term queries over one billion documents return in ~300 ms (4.7x to 5.6x the throughput of a flat multi-threaded index), and a warmed cache sustains ~32 queries per second versus under 3 for flat indexing. At a 500K-document configuration, visiting 5-10% of clusters recovers 0.83-0.92 of the exhaustive result score. Billion-scale recall and a direct comparison against document-reordered BlockMax-WAND remain open.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 3 of its 18 references that are in the map. First posted on arXiv 31 Jul 2026.
Builds on
3 of 18 references.
References · 3
- 2020Dense Passage Retrieval for Open-Domain Question Answeringcited by 3,824
- 2024Faster Learned Sparse Retrieval with Block-Max Pruningcited by 10
- 2016Compressing Graphs and Indexes with Recursive Graph Bisectioncited by 8
Built on by
Not cited yet.