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 with search, and tune ranking with query profiles.
  • No filters. The Vespa backend ignores VectorSearchQuery.filter, so a filtered search returns unfiltered results and doesn't raise an error. To scope queries, use the yql_filter of the schema and the exclude_ids and exclude_source_ids parameters. For yql_filter, see Migration helpers.
Getting started

Getting started

Follow these guides to build and deploy a Vespa application:

GuidePurpose
Anatomy of an ApplicationUnderstand application packages, schemas, fields, ranking profiles, query profiles, and migrations
Manage SchemaCreate and evolve schemas using Python migrations
Manage RankingConfigure ranking at query time without schema changes
Local DevelopmentFull local development loop: create, deploy, feed, query, iterate
Deploy and OperateProduction configuration, health checks, monitoring
CLI Referencemistral-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]"