Welcome to Vespa, the open big data serving engine! Here you'll find resources for getting started.
Create and run a minimal Vespa application on a laptop or Vespa Cloud:
Until you add multiple nodes an application can be deployed both locally and on Vespa Cloud with no changes.
|Tutorials and Use Cases||
Moving from the minimal quick start to more advanced use casesSearch
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.
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, multi-phased 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.