Hora 是一个近似最近邻搜索算法 (wiki) 库****Hora 完全基于 Rust🦀 实现,事实证明,Rust 确实非常非常快,完全可以媲美 C++ ,且
Hora
使用 SIMD进行了加速,速度非常快⚡️⚡️⚡️,具体速度可以参考下面的 benchmark.Hora ,日语为 「ほら」,读法像 [hōlə] ,意思是 Wow, You see! , Look at that! 。 这个名字的灵感来自日本著名歌曲 「小さな恋のうた」 。github: https://github.com/hora-search/hora****主页: https://horasearch.com/Python 库: https://github.com/hora-search/horapyJavascript 库: https://github.com/hora-search/hora-wasmHora 定位上是Rust实现的 ANN 算法库,希望能基于 Rust 本身的优势,能够提供多个安全的语言库,且能部署在任何地方。目前已经能在Linux, macOS 和 Windows以及WebAssembly部署,未来还会支持Android和IOS以及 嵌入式设备*** ### Demo 这是 Hora 的在线演示(可以在这里找到它,强烈推荐试试速度!! https://horasearch.com/)👩 Face-Match [online demo], have a try!🍷 Dream wine comments search [online demo], have a try!
### benchmarkHora 非常快,bench (与 Faiss 和 Annoy 相比)
### Features- Performant ⚡️ - SIMD-Accelerated (packed_simd) - Stable algorithm implementation - Multiple threads design- Supports Multiple Languages ☄️ -
Python
- Javascript
- Java
- Go
(WIP) - Ruby
(WIP) - Swift
(WIP) - R
(WIP) - Julia
(WIP) - Can also be used as a service- Supports Multiple Indexes 🚀 - Hierarchical Navigable Small World Graph Index (HNSWIndex)
(details) - Satellite System Graph (SSGIndex)
(details) - Product Quantization Inverted File(PQIVFIndex)
(details) - Random Projection Tree(RPTIndex)
(LSH, WIP) - BruteForce (BruteForceIndex)
(naive implementation with SIMD)- Portable 💼 - Supports WebAssembly
- Supports Windows
, Linux
and OS X
- Supports IOS
and Android
(WIP) - Supports no_std
(WIP, partial) - No heavy dependencies, such as BLAS
- Reliability 🔒 - Rust
compiler secures all code - Memory managed by Rust
for all language libraries such as Python's
- Broad testing coverage- Supports Multiple Distances 🧮 - Dot Product Distance
- -
Euclidean Distance
- -
Manhattan Distance
- -
Cosine Similarity
- - Productive ⭐ - Well documented - Elegant, simple and easy to learn API