



iRangeGraph is an ANN indexing approach and accompanying implementation for range-filtering nearest neighbor search. It provides a specialized graph-based index that supports vector similarity search under range constraints, making it directly useful as a component or reference implementation for advanced vector database indexing and retrieval.
Loading more......
Category: SDKs & Libraries
Tags: ann, graph-index, similarity-search
Source: https://github.com/YuexuanXu7/iRangeGraph
iRangeGraph is a graph-based Approximate Nearest Neighbor (ANN) indexing method and reference implementation tailored for range-filtering nearest neighbor search. It builds a specialized graph index over vector data that are ordered by an attribute, enabling efficient similarity search under attribute range constraints.
Implementation corresponds to the paper: “iRangeGraph: Improvising Range-dedicated Graphs for Range-filtering Nearest Neighbor Search” (arXiv:2409.02571).
Range-filtering ANN search
Graph-based index structure
--M (controls connectivity / out-degree of nodes).--ef_construction to control the size of the candidate/result set during index building.Binary data format support
.bin format:
n * d * sizeof(float) bytes: contiguous float vectors (one data point at a time).Index construction CLI
--data_path – path to input dataset in the specified .bin layout.--index_file – output path for the constructed graph index in .bin format.--M – graph degree.--ef_construction – search breadth during index construction.--threads – number of threads for parallel index building.Single-attribute search CLI
--data_path – path to the underlying data (same .bin format used to build the index, sorted by attribute).--query_path – queries in .bin format using the same header + vector layout.--range_saveprefix – directory prefix where query range files will be saved; uses numeric codes (0–9) to denote different query range fractions.CMake-based build
CMakeLists.txt for configuration and build.include/ and tests/ directories for headers and test code.Research reference implementation
technical_report.pdf with additional algorithmic and experimental details.LICENSE file (open-source; see repository for exact terms)..bin layout and sort it ascending by the attribute used for range filtering.--data_path, --index_file, --M, --ef_construction, and --threads.--data_path, --query_path, and --range_saveprefix for single-attribute search.This is an open-source library hosted on GitHub. No pricing information or paid plans are specified in the available content.