Skip to content

vespa-engine/vespa

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
June 1, 2021 14:00
April 17, 2023 13:42
April 19, 2023 20:46
March 3, 2023 15:23
February 13, 2023 12:23
March 1, 2023 09:30
March 1, 2023 09:30
April 25, 2023 11:33
March 6, 2023 15:11
March 6, 2023 15:11
March 8, 2023 10:31
April 26, 2023 19:11
April 17, 2023 13:42
April 17, 2023 13:42
April 30, 2023 19:48
March 1, 2023 09:30
March 1, 2023 09:30
October 12, 2022 15:55
June 15, 2016 23:09
June 15, 2016 23:09
March 6, 2023 15:11
July 13, 2022 12:02
February 18, 2019 10:07
June 15, 2016 23:09
November 21, 2022 13:08
June 15, 2016 23:09
July 26, 2022 08:37
November 9, 2022 21:15
June 15, 2016 23:09

#Vespa

The open big data serving engine - Store, search, organize and make machine-learned inferences over big data at serving time.

This is the primary repository for Vespa where all development is happening. New production releases from this repository's master branch are made each weekday from Monday through Thursday.

Vespa build status: Vespa Build Status

Table of contents

Background

Use cases such as search, recommendation and personalization need to select a subset of data in a large corpus, evaluate machine-learned models over the selected data, organize and aggregate it and return it, typically in less than 100 milliseconds, all while the data corpus is continuously changing.

This is hard to do, especially with large data sets that needs to be distributed over multiple nodes and evaluated in parallel. Vespa is a platform which performs these operations for you with high availability and performance. It has been in development for many years and is used on a number of large internet services and apps which serve hundreds of thousands of queries from Vespa per second.

Install

Run your own Vespa instance: https://docs.vespa.ai/en/getting-started.html Or deploy your Vespa applications to the cloud service: https://cloud.vespa.ai

Usage

  • The application created in the getting started guide is fully functional and production ready, but you may want to add more nodes for redundancy.
  • See developing applications on adding your own Java components to your Vespa application.
  • Vespa APIs is useful to understand how to interface with Vespa
  • Explore the sample applications
  • Follow the Vespa Blog for feature updates / use cases

Full documentation is at https://docs.vespa.ai.

Contribute

We welcome contributions! See CONTRIBUTING.md to learn how to contribute.

If you want to contribute to the documentation, see https://github.com/vespa-engine/documentation

Building

You do not need to build Vespa to use it, but if you want to contribute you need to be able to build the code. This section explains how to build and test Vespa. To understand where to make changes, see Code-map.md. Some suggested improvements with pointers to code are in TODO.md.

Development environment

C++ and Java building is supported on CentOS Stream 8. The Java source can also be built on any platform having Java 17 and Maven installed. Use the following guide to set up a complete development environment using Docker for building Vespa, running unit tests and running system tests: Vespa development on CentOS Stream 8.

Build Java modules

export MAVEN_OPTS="-Xms128m -Xmx1024m"
./bootstrap.sh java
mvn install --threads 1C

Use this if you only need to build the Java modules, otherwise follow the complete development guide above.

License

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