# USearch

A compact, single-header similarity search and clustering engine for vectors and arbitrary objects, with bindings in eleven languages and support for user-defined distance metrics.

USearch is a smaller and faster single-file similarity search and clustering engine for vectors, and eventually text, supporting spatial, binary, and probabilistic distance as well as user-defined metrics. It implements the HNSW algorithm, reported as up to ten times faster than FAISS's implementation, in a simple, extensible single C++11 header library, and is used by projects including ClickHouse and DuckDB.

It is SIMD-optimized, with user-defined metrics that can be JIT-compiled, and supports hardware-agnostic bf16, e5m2, and int8 half- and quarter-precision formats. Large indexes can be viewed directly from disk without loading them fully into RAM, and it supports heterogeneous lookups, relabeling, and on-the-fly deletions, as well as semantic search and joins. Each supported language, including C++, Python, JavaScript, Java, Rust, C, Objective-C, Swift, C#, Go, and Wolfram, has its own dedicated binding, and it runs on Linux, macOS, Windows, iOS, Android, and WebAssembly, as well as inside SQLite.

Website: https://unum.cloud/usearch
