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.
Code licensed under the Apache 2.0 license. See LICENSE for terms.
Get started developing
Setup build environment
C++ building is supported on CentOS 7. The Java source can be built on any platform having Java 8 and Maven installed. We recommend using the following environment: Create C++ 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 https://copr.fedorainfracloud.org/coprs/g/vespa/vespa/repo/epel-7/group_vespa-vespa-epel-7.repo sudo yum -y install epel-release centos-release-scl yum-utils sudo yum -y install ccache \ rpm-build yum-builddep -y <vespa-source>/dist/vespa.spec
Build Java modules
export MAVEN_OPTS="-Xms128m -Xmx512m" sh bootstrap.sh java mvn -T <num-threads> install
Build C++ modules
<build-dir> with the name of the directory in which you'd like to build Vespa.
<source-dir> with the directory in which you've cloned/unpacked the source tree.
sh bootstrap-cpp.sh <source-dir> <build-dir> cd <build-dir> make -j <num-threads> ctest3 -j <num-threads>
Create RPM packages
sh dist.sh VERSION && rpmbuild -ba ~/rpmbuild/SPECS/vespa-VERSION.spec
Run Vespa on a local machine
Update user documentation at https://github.com/vespa-engine/documentation