Alibaba lightweight in-process vector database
Go to file
egolearner 22744f2c81
feat(c_api): add FTS support for sub-query (#520)
Add zvec_sub_query_set_fts and zvec_sub_query_set_fts_params to allow
setting FTS clause and FTS query parameters on sub-queries, mirroring
the existing zvec_vector_query_set_fts interface.

- zvec_sub_query_set_fts: set/clear FTS clause (copies payload)
- zvec_sub_query_set_fts_params: set FTS query params (takes ownership)
- Add unit test test_fts_wiring_on_sub_query
2026-06-24 10:12:39 +08:00
.github fix: add aio to nightly build (#469) 2026-06-23 14:17:37 +08:00
cmake fix: resolve compiler warnings and enable -Werror across all CI platforms (#460) 2026-06-05 14:51:37 +08:00
examples feat: external vector source support (#490) 2026-06-17 14:15:52 +08:00
python fix(python): handle missing query-by-id documents (#519) 2026-06-23 21:29:28 +08:00
scripts ci: refact android ci (#330) 2026-04-15 15:37:51 +08:00
src feat(c_api): add FTS support for sub-query (#520) 2026-06-24 10:12:39 +08:00
tests feat(c_api): add FTS support for sub-query (#520) 2026-06-24 10:12:39 +08:00
thirdparty fix: refactor parquet buffer cache ownership (#492) 2026-06-16 10:47:07 +08:00
tools fix: resolve compiler warnings and enable -Werror across all CI platforms (#460) 2026-06-05 14:51:37 +08:00
.clang-format Initial commit 2025-12-30 11:02:17 +08:00
.clang-tidy chore: clang-tidy check header file (#455) 2026-06-10 13:54:01 +08:00
.gitattributes feat: add fts support (#408) 2026-06-01 15:02:54 +08:00
.gitignore fix(python): only bundle the DiskANN plugin where it is supported (#510) 2026-06-23 10:08:24 +08:00
.gitmodules feat: add diskann index (#369) 2026-06-04 20:52:43 +08:00
.pre-commit-config.yaml chore: enable the conventional-pre-commit run sucess and update to latest version (#111) 2026-02-25 18:03:20 +08:00
CMakeLists.txt Bump CMake minimum version to 3.26 (#516) 2026-06-23 15:25:00 +08:00
CODE_OF_CONDUCT.md Initial commit 2025-12-30 11:02:17 +08:00
CONTRIBUTING.md doc: add v0.3.0 release note (#312) 2026-04-03 15:47:19 +08:00
LICENSE Initial commit 2025-12-30 11:02:17 +08:00
NOTICE feat(entity/search): add LinearPool/BlockHeap, refac entity layout and access. (#450) 2026-06-08 13:51:46 +08:00
README.md chore: update README.md (#494) 2026-06-15 16:09:49 +08:00
README_CN.md chore: update README.md (#494) 2026-06-15 16:09:49 +08:00
pyproject.toml fix(python): exclude C++ SDK headers and libs from the wheel (#509) 2026-06-22 19:41:05 +08:00

README.md

English | 中文

zvec logo

Code Coverage Main License PyPI Release Python Versions npm Release

alibaba%2Fzvec | Trendshift

🚀 Quickstart | 🏠 Home | 📚 Docs | 📊 Benchmarks | 🔎 DeepWiki | 🎮 Discord | 🐦 X (Twitter)

Zvec is an open-source, in-process vector database — lightweight, lightning-fast, and designed to embed directly into applications. Battle-tested within Alibaba Group, it delivers production-grade, low-latency and scalable similarity search with minimal setup.

[!Important] 🚀 v0.5.0 (June 12, 2026)

  • Full-Text Search (FTS): Native full-text search — attach an FTS index to any string field and query it with natural-language or structured expressions, no external search engine required.
  • Hybrid Retrieval: Combine full-text and vector search in a single MultiQuery across dense vectors, sparse vectors, scalar filters, and text.
  • DiskANN Index: New on-disk index that keeps the bulk of the index on disk, drastically cutting memory usage for large-scale datasets.
  • Ecosystem & Platforms: New official Go / Rust SDKs, the Zvec Studio visual tool, and RISC-V support.

👉 Read the Release Notes | View Roadmap 📍

💫 Features

  • Blazing Fast: Searches billions of vectors in milliseconds.
  • Simple, Just Works: Install and start searching in seconds. Pure local, no servers, no config, no fuss.
  • Dense + Sparse Vectors: Support dense and sparse embeddings, multi-vector queries, and a rich selection of vector index types that scale from memory to disk.
  • Full-Text Search (FTS): Native keyword-based full-text search — query string fields with natural-language or structured expressions.
  • Hybrid Search: Fuse vector similarity, full-text search, and structured filters in a single query for precise results.
  • Durable Storage: Write-ahead logging (WAL) guarantees persistence — data is never lost, even on process crash or power failure.
  • Concurrent Access: Multiple processes can read the same collection simultaneously; writes are single-process exclusive.
  • Runs Anywhere: As an in-process library, Zvec runs wherever your code runs — notebooks, servers, CLI tools, or even edge devices.

📦 Installation

Zvec offers official SDKs across multiple languages:

  • Python: pip install zvec (requires Python 3.103.14)
  • Node.js: npm install @zvec/zvec
  • Go: High-performance Go bindings.
  • Rust: High-performance Rust bindings.
  • Dart/Flutter: flutter pub add zvec

Prefer a visual tool? Try Zvec Studio to browse data and debug queries — no code required.

Supported Platforms

  • Linux (x86_64, ARM64)
  • macOS (ARM64)
  • Windows (x86_64)

🛠️ Building from Source

If you prefer to build Zvec from source, please check the Building from Source guide.

One-Minute Example

import zvec

# Define collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

# Create collection
collection = zvec.create_and_open(path="./zvec_example", schema=schema)

# Insert documents
collection.insert([
    zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]}),
    zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
])

# Search by vector similarity
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.4, 0.3, 0.3, 0.1]),
    topk=10
)

# Results: list of {'id': str, 'score': float, ...}, sorted by relevance
print(results)

📈 Performance at Scale

Zvec delivers exceptional speed and efficiency, making it ideal for demanding production workloads.

Zvec Performance Benchmarks

For detailed benchmark methodology, configurations, and complete results, please see our Benchmarks documentation.

🤝 Join Our Community

💬 DingTalk 📱 WeChat 🎮 Discord X (Twitter)
DingTalk QR Code WeChat QR Code Discord X (formerly Twitter) Follow
Scan to join Scan to join Click to join Click to follow

❤️ Contributing

We welcome and appreciate contributions from the community! Whether you're fixing a bug, adding a feature, or improving documentation, your help makes Zvec better for everyone.

Check out our Contributing Guide to get started!