Counting 3,202 Big Data & Machine Learning Frameworks, Toolsets, and Examples...
Suggestion? Feedback? Tweet @stkim1

Project Page
Last Commit
Oct. 15, 2018
Jun. 3, 2016


Vespa is an engine for low-latency computation over large data sets. It stores and indexes your data such that queries, selection and processing over the data can be performed at serving time.

This README describes how to build and develop the Vespa engine. To get started, read the quick start, or find the full documentation at

Code licensed under the Apache 2.0 license. See LICENSE for terms.

Travis-CI build status: Build Status

Get started developing

Setup build environment

C++ and Java building is supported on CentOS 7. The Java source can also be built on any platform having Java 8 and Maven installed. We recommend using the following environment: Create C++ / Java dev environment on CentOS using VirtualBox and Vagrant. You can also setup CentOS 7 natively and install the following build dependencies:

sudo yum-config-manager --add-repo
sudo yum -y install epel-release centos-release-scl yum-utils
sudo yum -y install ccache \
yum-builddep -y <vespa-source>/dist/vespa.spec

Build Java modules

export MAVEN_OPTS="-Xms128m -Xmx1024m"
source /opt/rh/rh-maven35/enable
bash java
mvn -T <num-threads> install

Build C++ modules

Replace <build-dir> with the name of the directory in which you'd like to build Vespa. Replace <source-dir> with the directory in which you've cloned/unpacked the source tree.

bash <source-dir> <build-dir>
cd <build-dir>
make -j <num-threads>
ctest3 -j <num-threads>

Create RPM packages

sh VERSION && rpmbuild -ba ~/rpmbuild/SPECS/vespa-VERSION.spec

Run Vespa on a local machine

A basic, single-node install is found in the quick start. For multi-node and using Node Admin, read node-admin/

Write documentation

Update user documentation at

Latest Releases
 Oct. 10 2018
 Oct. 8 2018
 Oct. 3 2018
 Oct. 1 2018
 Sep. 27 2018