back

by dochtman·4y ago·view on hn ↗
I wrote an HNSW implementation in pure Rust:

https://github.com/InstantDomain/instant-distance

It works pretty well for us at InstantDomainSearch.

I like to think that this is a fairly idiomatic Rust implementation so it might be easier to follow than Facebook's FAISS. It's kinda similar in design to FAISS, so I think it might achieve similar performance, though we haven't spent enough time benchmarking yet.

2 comments
You also have plenty of comments which makes it much easier to follow than the Faiss code - I wish I had found this a few weeks ago, thanks for sharing.
Are you using it for full text search over the available domain names? What are you using as the embedding layer to be typo tolerant?
We're mainly using it to find related names in the set of domains available from aftermarkets. We're using the fastText word vectors from Facebook for this. We haven't done any work specifically to deal with typos, although that's on our list.