Skip to content
A distributed system for efficient similarity search of embedding vectors
Go C++ Python Shell CMake HTML Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchs add benchs of Vearch Sep 30, 2019
build 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
client 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
cloud Release v0.2 Oct 31, 2019
config 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
docs modify english operation documents Dec 5, 2019
engine fix the bugs below: Nov 15, 2019
master 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
plugin fix bugs Nov 1, 2019
proto 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
ps 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
router 1. Add the parameter to control whether to rank after recalling from … Nov 11, 2019
test fix and sync master Nov 11, 2019
tools/deployment update Sep 11, 2019
util fix and sync master Nov 11, 2019
vendor
.gitignore fix store_type default to mmap Oct 31, 2019
.travis.yml Update .travis.yml Oct 31, 2019
ADOPTERS.md Create ADOPTERS.md Nov 3, 2019
CODE_OF_CONDUCT.md add docs Sep 27, 2019
CONTRIBUTING.md add docs Sep 27, 2019
GOVERNANCE.md add docs Sep 27, 2019
LICENSE Initial commit May 13, 2019
MAINTAINERS.md Release v0.2 Oct 31, 2019
README.md Update README.md Oct 30, 2019
ROADMAP.md Release v0.2 Oct 31, 2019
startup.go Release v0.2 Oct 31, 2019

README.md

Build Status     Gitter

Overview

Vearch is a scalable distributed system for efficient similarity search of deep learning vectors.

Architecture

arc

  • Data Model

    space, documents, vectors, scalars

  • Components

    Master, Router and PartitionServer

  • Master

    Responsible for schema mananagement, cluster-level metadata, and resource coordination.

  • Router

    Provides RESTful API: create , delete search and update ; 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.

Quick start

docs/img/plugin/main_process.gif

  • Quickly build a distributed vector search system with RESTful API, please see docs/Deploy.md.

  • 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. For more information, please refer to docs/Quickstart.md.

APIs and Use Cases

LowLevelAPI

VisualSearchAPI

Document

Benchmarks

Publication

Jie Li, Haifeng Liu, Chuanghua Gui, Jianyu chen, Zhenyun Ni, Ning Wang, Yuan Chen. The Design and Implementation of a Real Time Visual Search System on JD E-commerce Platform. In the 19th International ACM Middleware Conference, December 10–14, 2018, Rennes, France. https://arxiv.org/abs/1908.07389

Community

You can report bugs or ask questions in the issues page of the repository.

For public discussion of Vearch or for questions, you can also send email to vearch-maintainers@groups.io.

License

Licensed under the Apache License, Version 2.0. For detail see LICENSE and NOTICE.

You can’t perform that action at this time.