Vespa
Build and operate Vespa applications with the Search Toolkit plugin. Define schemas through Python migrations, configure ranking and query profiles, deploy with the mistral-vespa CLI, and manage production clusters.
Note
The Retrieval, Retrievers, and Filters pages are written for a Mistral Search Index. A Vespa store supports search, but it differs in two ways:
- No
retrieve. Query withsearch, and tune ranking with query profiles. - No filters. The Vespa backend ignores
VectorSearchQuery.filter, so a filteredsearchreturns unfiltered results and doesn't raise an error. To scope queries, use theyql_filterof the schema and theexclude_idsandexclude_source_idsparameters. Foryql_filter, see Migration helpers.
Getting started
Getting started
Follow these guides to build and deploy a Vespa application:
| Guide | Purpose |
|---|---|
| Anatomy of an Application | Understand application packages, schemas, fields, ranking profiles, query profiles, and migrations |
| Manage Schema | Create and evolve schemas using Python migrations |
| Manage Ranking | Configure ranking at query time without schema changes |
| Local Development | Full local development loop: create, deploy, feed, query, iterate |
| Deploy and Operate | Production configuration, health checks, monitoring |
| CLI Reference | mistral-vespa command reference |
Use Vespa as a search backend
Use Vespa as a search backend
To use Vespa in a Search Toolkit pipeline, get a store with app.get_search_index(config, collection_name=...). Pass it to Pipeline(stores=...) for ingestion, and query it with search. For the connection settings, see Deploy and operate.
Installation
Installation
uv add "mistralai-search-toolkit[vespa]"