Modules

  • Api for external language.
    This file provides a trait to be used as an opaque pointer for C or Julia calls used in file libext.rs
  • This module provides a bidirectional link between a file in the format used for the dump of Data vectors filling the Hnsw structure. We mmap the file and provide - a Hashmap from DataId to address - an interface for retrieving just data vectors loaded in the hnsw structure. - an interface for creating a Hnsw structure from the vectors stored in file
  • Some standard distances as L1, L2, Cosine, Jaccard, Hamming and a structure to enable the user to implement its own distances. For the heavily used case (f32) we provide simd avx2 implementation.
  • defines a trait for filtering requests
  • This module provides conversion of a Point structure to a FlatPoint containing just the Id of a point and those of its neighbours. The whole Hnsw structure is then flattened into a Hashtable associating the data ID of a point to its corresponding FlatPoint.
    It can be used, for example, when reloading only the graph part of the data to have knowledge of relative proximity of points as described just by their DataId
  • A rust implementation of Approximate NN search from:
    Efficient and robust approximate nearest neighbour search using Hierarchical Navigable small World graphs. Yu. A. Malkov, D.A Yashunin 2016, 2018
  • This file provides io dump/ reload of computed graph.

Macros