Vearch is an Apache-2.0 cloud-native distributed vector database that provides similarity search over embedding vectors for AI-native applications, built for teams that need retrieval, RAG, or visual search at a scale where an in-process library is no longer enough.
What it is
Vearch is a distributed system for storing, indexing, and retrieving embedding vectors together with their scalar metadata. Its core vector search engine, Gamma, is implemented on top of faiss, and the surrounding service turns that engine into a cluster: a Master component handles schema management, cluster-level metadata, and resource coordination; a Router exposes a RESTful API for upsert, delete, search, and query while routing requests and merging results; and PartitionServer (PS) hosts document partitions with raft-based replication. Clients reach the cluster through REST APIs or through SDKs in Python, Go, Java, and Rust.
The concrete problem it addresses is the gap between a research-grade vector index and a production retrieval service. Applications that build similarity search directly on a vector library must handle partitioning, replication, schema changes, and request merging themselves. Vearch replaces that hand-rolled index-and-service layer by shipping the faiss-based engine as a managed cluster component with replication and elastic scaling, exposed over HTTP rather than through a linked library. It lives in the AI-native and RAG ecosystem, where it acts as the vector store behind frameworks such as Langchain, LlamaIndex, Langchaingo, and LangChain4j.
Key capabilities
- Hybrid search that combines vector search with scalar filtering in the same query.
- Router RESTful API surface covering
upsert, delete, search, and query, with request routing and result merging across partitions.
- PartitionServer stores documents in partitions with raft-based replication for reliability.
- Gamma vector search engine, built on faiss, handles storing, indexing, and retrieving both vectors and scalars.
- Official SDKs for Python, Go, Java, and Rust, plus integration packages for Langchain, LlamaIndex, Langchaingo, and LangChain4j so Vearch can serve as a memory backend.
- Deployment paths covering a Helm chart (
vearch/vearch), Docker Compose profiles for standalone and cluster, DeployByDocker, and SourceCompileDeployment.
- Retrieval from millions of objects in milliseconds, with elastic scaling out as data grows.
Who uses it and how
- Teams building retrieval-augmented generation pipelines wire Vearch in as the vector store for Langchain or as the knowledge base backend for LlamaIndex, keeping embedding storage separate from application code.
- Visual search deployments follow the VisualSearch demo, which indexes billions of images and pairs Vearch with an image retrieval plugin for object detection and feature extraction.
- Platform operators run the Master, Router, and PartitionServer topology on Kubernetes via Helm, or bring up self-contained environments with the standalone and cluster Docker Compose profiles.
- Polyglot organizations use the Python, Go, Java, or Rust SDK against the same cluster, so services in different languages share one retrieval layer.
- The design traces back to a real-time visual search system built for the JD e-commerce platform, cited in the project's 2019 arXiv paper.
Getting started
Install on Kubernetes with helm repo add vearch https://vearch.github.io/vearch-helm followed by helm install my-release vearch/vearch, or run Docker Compose from the cloud directory, copying config.toml for --profile standalone or config_cluster.toml for --profile cluster. DeployByDocker and SourceCompileDeployment documents cover the remaining paths.
How it compares
The supplied facts name no paid products that Vearch replaces, and no directly comparable vector database is listed either. Within this registry it stands alone in its category; faiss appears only as the engine underneath Gamma, not as a competing product.
When to use it — and when not to
A self-hoster must operate a multi-component cluster — Master, Router, and PartitionServer — with raft-based replication, plus the configuration files and Helm or Compose tooling that go with it; that is real operational weight compared with embedding a single-process index. Teams that want a fully managed hosted service, or that only need similarity search over a small in-memory collection, should look elsewhere, since no hosted option appears in the facts. The project also carries 170 open issues, and documentation is split between English and Simplified Chinese, so non-Chinese readers may find some material thinner.
project readme (upstream, from github) — read inline
简体中文 | English

Overview
Vearch is a cloud-native distributed vector database for efficient similarity search of embedding vectors in your AI applications.
Key features
Hybrid search: Both vector search and scalar filtering.
Performance: Fast vector retrieval - search from millions of objects in milliseconds.
Scalability & Reliability: Replication and elastic scaling out.
Document
Restful APIs
OpenAPIs
SDK
Usage Cases
Use Vearch as a Memory Backend
Vearch integrates with popular AI frameworks:
Real world Demos
- VisualSearch: Vearch can be leveraged to build a complete visual search system to index billions of images. The image retrieval plugin for object detection and feature extraction is also required.
Quick start
Kubernetes Deployment
# Via Helm Repository
$ helm repo add vearch https://vearch.github.io/vearch-helm
$ helm repo update && helm install my-release vearch/vearch
# Or from Local Charts
$ git clone https://github.com/vearch/vearch-helm.git && cd vearch-helm
$ helm install my-release ./charts -f ./charts/values.yaml
Docker Compose Deployment
# Standalone Mode
$ cd cloud && cp ../config/config.toml .
$ docker-compose --profile standalone up -d
# Cluster Mode
$ cd cloud && cp ../config/config_cluster.toml .
$ docker-compose --profile cluster up -d
Other Deployment Methods
Components
Vearch Architecture

Master: Responsible for schema management, cluster-level metadata, and resource coordination.
Router: Provides RESTful API: upsert, delete, search and query; request routing, and result merging.
PartitionServer (PS): Hosts document partitions with raft-based replication. Gamma is the core vector search engine implemented based on faiss. It provides the ability of storing, indexing and retrieving the vectors and scalars.
Technical Reference
Academic Citation
When using Vearch in academic or research projects, please cite our paper:
@misc{li2019design,
title={The Design and Implementation of a Real Time Visual Search System on JD E-commerce Platform},
author={Jie Li and Haifeng Liu and Chuanghua Gui and Jianyu Chen and Zhenyun Ni and Ning Wang},
year={2019},
eprint={1908.07389},
archivePrefix={arXiv},
primaryClass={cs.IR}
}
Community Support
Connect With Us
Connect with the Vearch community through multiple channels:
- GitHub Issues: Report bugs or request features on our issues page
- Email Discussion: For public discussion or questions, contact us at vearch-maintainers@groups.io
- Slack Channel: Join our community on Slack for real-time discussions
Contribution
We welcome contributions from the community! Check our contribution guidelines to get started.
License
Vearch is licensed under the Apache License, Version 2.0.
For complete licensing details, please see LICENSE and NOTICE in our repository.
© 2019 Vearch Contributors. All Rights Reserved.