[Homepage] [Document] [Examples] [Hora]
Javascript bidding for the Hora Approximate Nearest Neighbor Search, in WebAssembly way.
- 
Performant ⚡️
- SIMD-Accelerated (packed_simd)
 - Stable algorithm implementation
 - Multiple threads design
 
 - 
Multiple Indexes Support 🚀
 - 
Reliability 🔒
Rustcompiler secure all code- Memory managed by 
Rustfor all language libs such asPython lib - Broad testing coverage
 
 - 
Multiple Distances Support 🧮
 - 
Productive ⭐
- Well documented
 - Elegant and simple API, easy to learn
 
 
by aws t2.medium (CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz) more information
npm i horajsimport * as horajs from "horajs";
const demo = () => {
    const dimension = 50;
    var bf_idx = horajs.BruteForceIndexUsize.new(dimension);
    // var hnsw_idx = horajs.HNSWIndexUsize.new(dimension, 1000000, 32, 64, 20, 500, 16, false);
    for (var i = 0; i < 1000; i++) {
        var feature = [];
        for (var j = 0; j < dimension; j++) {
            feature.push(Math.random());
        }
        bf_idx.add(feature, i); // add point 
    }
    bf_idx.build("euclidean"); // build index
    var feature = [];
    for (var j = 0; j < dimension; j++) {
        feature.push(Math.random());
    }
    console.log("bf result", bf_idx.search(feature, 10)); //bf result Uint32Array(10) [704, 113, 358, 835, 408, 379, 117, 414, 808, 826]
}
(async () => {
    await horajs.default();
    await horajs.init_env();
    demo();
})();The entire repo is under Apache License.
