annsearchR: Fast Approximate Nearest Neighbour Search

R interface to the Rust crate 'ann-search-rs'. Build an exact or approximate nearest neighbour index once, keep it in memory behind an 'R6' object and query it as often as you like. Index types include hierarchical navigable small world graphs (HNSW), 'Annoy' random projection trees, inverted file indices (IVF), nearest neighbour descent (NNDescent) and 'Vamana' graphs. Multi-threaded via the Rust crate 'Rayon', with 32-bit or 64-bit floating point storage. Methods are described in Malkov and Yashunin (2020) <doi:10.1109/TPAMI.2018.2889473> and Dong et al. (2011) <doi:10.1145/1963405.1963487>.

Version: 0.1.0
Depends: R (≥ 4.2)
Imports: checkmate, lifecycle, methods, R6, stats
Suggests: knitr, quarto, tinytest
Published: 2026-11-13
DOI: 10.32614/CRAN.package.annsearchR (may not be active yet)
Author: Gregor Lueg [aut, cre], Authors of the dependency Rust crates [ctb, cph] (see inst/AUTHORS file)
annsearchR author details
Maintainer: Gregor Lueg <gregorlueg at me.com>
BugReports: https://github.com/GregorLueg/annsearchR/issues
License: MIT + file LICENSE
Copyright: Rust crate authors and licences are listed in inst/AUTHORS.
URL: https://gregorlueg.github.io/annsearchR/, https://github.com/GregorLueg/annsearchR
NeedsCompilation: yes
SystemRequirements: Cargo (Rust's package manager), rustc >= 1.90, xz
Materials: README, NEWS
CRAN checks: annsearchR results

Documentation:

Reference manual: annsearchR.html , annsearchR.pdf
Vignettes: Getting started with annsearchR (source, R code)

Downloads:

Package source: annsearchR_0.1.0.tar.gz
Windows binaries: r-devel: not available, r-release: annsearchR_0.1.0.zip, r-oldrel: annsearchR_0.1.0.zip
macOS binaries: r-release (arm64): annsearchR_0.1.0.tgz, r-oldrel (arm64): annsearchR_0.1.0.tgz, r-release (x86_64): annsearchR_0.1.0.tgz, r-oldrel (x86_64): annsearchR_0.1.0.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=annsearchR to link to this page.