USearch

Compact single-header vector search engine supporting multiple languages.

Open SourceSelf HostedOffline Capable
0.0 (0)

About

USearch packs an approximate nearest neighbor engine into a single C++11 header, trading the bulk of FAISS (roughly 3 thousand lines of code against 84 thousand) for portability without giving up speed. Built on the HNSW algorithm, it searches and clusters vectors with user-defined distance metrics, supports precision from 64-bit floats down through bf16, f16, i8, and single-bit representations, and accelerates comparisons with AVX-512 and Arm SVE SIMD instructions. Indexes can be memory-mapped and served straight from disk, and search traversal accepts custom filtering predicates. Bindings exist for Python, JavaScript, Java, Rust, Go, C#, Swift, Objective-C, C99, and Wolfram, spanning server, mobile, and WebAssembly targets. Developed by Unum under the Apache 2.0 license, it has been adopted inside databases including ClickHouse and DuckDB and integrates with LangChain and Semantic Kernel, making it a common choice when vector search needs to live inside an application rather than run as a separate service.

Should you use USearch?

Pick it when

Pick USearch when vector search must live inside an application on server, mobile, or WASM targets, you want one small header with bindings from Python to Swift, and you value i8 or binary precision plus memory-mapped indexes.

Look elsewhere when

Skip it if you need a managed service, replication, or metadata filtering out of the box: it is an engine, not a database, and filters are custom predicates you write. FAISS offers IVF-PQ and GPU indexes, and Qdrant adds a full server.

Alternatives to USearch

  • HNSWlib

    The established HNSW library behind several vector databases; fewer language bindings and precision types, but a simpler, well-trodden choice.

  • FAISS

    Far larger codebase with IVF, PQ, and GPU indexes for billion-scale work; heavier to embed than a header of roughly 3 thousand lines.

  • sqlite-vec

    Puts vectors behind SQL inside SQLite with zero dependencies; exhaustive scans only, but metadata and vectors share one queryable file.

  • Voyager

    HNSW with matching Python and Java bindings, used in production at Spotify; fewer languages and precision options than USearch.

Reviews (0)

Leave a Review

No reviews yet. Be the first to review!

Details

Price
Free
Platform
Local/Desktop
Difficulty
Easy (2/5)
License
Apache-2.0
Added
Apr 3, 2026

Tags