• [+] expand all

Getting Started

Welcome to Vespa, the open big data serving engine! Here you'll find resources for getting started.

Quick Start

Quick start: Create and run a minimal Vespa application

Other ways to get started:

Until you add multiple nodes an application can be deployed both on cloud and locally with no modifications.

Tutorials and Use Cases

Moving from the minimal quick start to more advanced use cases

Search Vector Search

Learn how to use Vespa Vector Search in the practical nearest neighbor search guide. It uses Vespa's support for nearest neighbor search, there is also support for fast approximate nearest neighbor search in Vespa. The guide covers combining vector search with filters and how to perform hybrid search, combining retrieval over inverted index structures with vector search.

Recommendation

Learn how to use Vespa for content recommendation/personalization in the News Search and Recommendation tutorial set.

ML Model Serving

Learn how to use Vespa for ML model serving in Stateless Model Evaluation. Vespa has support for running inference with models from many popular ML frameworks which can be used for ranking, query classification, question answering, multi-modal retrieval and more.

ML Model Lifecycle

The Models hot swap tutorial shows a solution for changing the vector embedding model atomically while serving. It also extends the application to support multiple recommendation models while minimizing data duplication. Lastly, it demonstrates how to efficiently garbage collect obsolete content in an application.

Question Answering

Using Vespa to answer questions. This sample application demonstrates several of the advanced capabilities of Vespa. Ranking with Transformer (e.g. BERT) models, dense retrieval using vectors, multiphased retrieval and ranking, and custom plugins to build an end-to-end application.

E-Commerce Search

The e-commerce shopping sample application demonstrates Vespa grouping, true in-place partial updates, custom ranking and more.

Production deployment environments

Vespa can be deployed in multiple ways. These guides show how to deploy multi-node applications in various environments.

See also monitoring Vespa.

Custom component development

Vespa applications can contain custom components to be run by Vespa, for example on receiving queries or documents. The applications must be able to run on a JVM. While all the built-in behavior of Vespa can be invoked by an YQL query, advanced applications often choose to use plugin components to build queries from frontend requests as doing this closer to the data is faster and simpler.

See the quick starts with Java above to get started. The Developer Guide has more details.

Next Steps