hnsw-lite
Version:
A lightweight HNSW implementation for nearest neighbor search.
16 lines (15 loc) • 541 B
TypeScript
import { Layer } from './layer';
export declare class HNSW {
layers: Layer[];
maxLayers: number;
maxEdges: number;
distanceFunction: Function;
constructor(maxLayers: number, maxEdges: number, distanceFunction?: string | Function);
add(id: string, vector: number[]): void;
addBulk(bulkData: [string, number[]][]): void;
remove(nodeId: string): void;
query(queryVector: number[], nClosest?: number): string[];
toJSON(): object;
static rebuildFromJSON(json: object): HNSW;
private getNodeById;
}