• Home
  • Categories
  • Tags
  • Pricing
  • Submit
  1. Home
  2. Sdks & Libraries
  3. iRangeGraph

iRangeGraph

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.

🌐Visit Website

About this tool

iRangeGraph

Category: SDKs & Libraries
Tags: ann, graph-index, similarity-search
Source: https://github.com/YuexuanXu7/iRangeGraph

Overview

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).

Features

  • Range-filtering ANN search

    • Supports nearest neighbor search with explicit range constraints on an attribute.
    • Designed for single-attribute range-filtered queries over sorted data.
  • Graph-based index structure

    • Constructs a range-dedicated graph index over the dataset.
    • Configurable graph degree via --M (controls connectivity / out-degree of nodes).
    • Uses --ef_construction to control the size of the candidate/result set during index building.
  • Binary data format support

    • Expects data in .bin format:
      • First 4 bytes: number of points (int).
      • Next 4 bytes: dimensionality (int).
      • Following n * d * sizeof(float) bytes: contiguous float vectors (one data point at a time).
    • Data must be sorted in ascending order by the range attribute.
  • Index construction CLI

    • Build-time parameters:
      • --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

    • Query-time parameters:
      • --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.
    • Supports batch query execution from file.
  • CMake-based build

    • Uses CMakeLists.txt for configuration and build.
    • C++ implementation with include/ and tests/ directories for headers and test code.
  • Research reference implementation

    • Repository includes a technical_report.pdf with additional algorithmic and experimental details.
    • Licensed via the included LICENSE file (open-source; see repository for exact terms).

Typical Workflow

  1. Prepare data in the required .bin layout and sort it ascending by the attribute used for range filtering.
  2. Build the index using the index construction command with --data_path, --index_file, --M, --ef_construction, and --threads.
  3. Run range-filtered ANN queries by supplying --data_path, --query_path, and --range_saveprefix for single-attribute search.

Pricing

This is an open-source library hosted on GitHub. No pricing information or paid plans are specified in the available content.

Surveys

Loading more......

Information

Websitegithub.com
PublishedDec 25, 2025

Categories

1 Item
Sdks & Libraries

Tags

3 Items
#ANN
#graph index
#similarity search

Similar Products

6 result(s)
NSG

NSG is an approximate nearest neighbor search algorithm based on a sparse navigable graph structure designed for high-dimensional vector similarity search. The reference implementation provides a graph-based ANN index that can be integrated into custom vector retrieval systems.

Neighbor

Ruby gem for approximate nearest neighbor search that can integrate with pgvector and other backends to power vector similarity search in Ruby applications.

Reconfigurable Inverted Index

Reconfigurable Inverted Index (Rii) is a research project and open-source library for approximate nearest neighbor and similarity search over high-dimensional vectors. It focuses on flexible, reconfigurable inverted index structures that support efficient vector search, making it directly relevant as a vector-search engine component for AI and multimedia retrieval applications.

RTNN

RTNN is a research prototype system and codebase that accelerates high-dimensional nearest neighbor search using hardware ray tracing units on modern GPUs. It targets vector similarity search workloads common in AI applications, exploring ray-tracing hardware as an alternative acceleration path to traditional CPU- or CUDA-based ANN indexes.

SymphonyQG

SymphonyQG is a research codebase and method that integrates vector quantization with graph-based indexing to build efficient approximate nearest neighbor (ANN) indexes for high-dimensional vector search. It targets vector database and similarity search scenarios where combining compact codes with navigable graphs can improve recall–latency tradeoffs and memory footprint.

FAISS

FAISS (Facebook AI Similarity Search) is a popular open-source library for efficient similarity search and clustering of dense vectors. Developed by Facebook/Meta, it supports billions of vectors and is widely used to power vector search engines and databases, especially where raw speed and scalability are needed.

Built with
Ever Works
Ever Works

Connect with us

Stay Updated

Get the latest updates and exclusive content delivered to your inbox.

Product

  • Categories
  • Tags
  • Pricing
  • Help

Clients

  • Sign In
  • Register
  • Forgot password?

Company

  • About Us
  • Admin
  • Sitemap

Resources

  • Blog
  • Submit
  • API Documentation
All product names, logos, and brands are the property of their respective owners. All company, product, and service names used in this repository, related repositories, and associated websites are for identification purposes only. The use of these names, logos, and brands does not imply endorsement, affiliation, or sponsorship. This directory may include content generated by artificial intelligence.
Copyright © 2025 Acme. All rights reserved.·Terms of Service·Privacy Policy·Cookies