ekzhu / datasketch

MinHash, LSH, LSH Forest, Weighted MinHash, HyperLogLog, HyperLogLog++, LSH Ensemble and HNSW
https://ekzhu.github.io/datasketch
MIT License
2.56k stars 293 forks source link

HNSW remove() point in-place. #225

Closed ekzhu closed 1 year ago

ekzhu commented 1 year ago

Implemented remove(), pop() and popitems() according to the discussion in https://github.com/nmslib/hnswlib/issues/4 and partially based on https://github.com/weaviate/weaviate/blob/master/adapters/repos/db/vector/hnsw/delete.go.

Reversed edges are maintained to avoid global operation during delete.