Vespa

Yahoo-built distributed search + ranking + vector. Hybrid retrieval at extreme scale.

VISIT VESPA

Key takeaway: Two conditions justify Vespa: retrieval at a scale where the alternatives fall over, and ranking logic complex enough that it needs to be programmed rather than configured. Meet both and nothing else in this directory competes. Meet neither and the learning curve will cost you more than the relevance gain ever returns, so use Typesense, Meilisearch or Elasticsearch instead.

Quick facts

  • CategoryAI-aware / hybrid
  • EngineJava / C++
  • PricingFreemium
  • LicenseApache-2.0
  • Created2017
  • GitHub stars6.4k
  • Vector supportYes
  • Edge-readyNo

What it is

Vespa is the distributed search + ranking + vector engine open-sourced by Yahoo in 2017. Powers some of the largest hybrid retrieval workloads on the public internet (Yahoo, Spotify, large e-commerce). Mature, capable, operationally heavy. Custom ranking expressions are a real differentiator.

Best for

  • Hybrid retrieval at extreme scale (search + ranking + vector all in one)
  • Apps that need custom ranking expressions
  • Teams with serious search-engineering capacity

When not to pick it

Skip Vespa for greenfield projects, the learning curve is steep. Most teams should use Typesense / Meilisearch / Elastic instead.

My take

Vespa is the right answer for one specific shape (hybrid retrieval at extreme scale with custom ranking). Outside that niche, simpler options win.

Ranking as code, not as a settings page

Most engines let you weight fields and add boosts. Vespa lets you write ranking as tensor expressions evaluated per document, in phases: a cheap first phase across the whole candidate set, an expensive second phase over the survivors, and an optional global re-rank on top. You can run an ONNX model inside the content node so a cross-encoder scores documents where the data already lives, instead of shipping candidates to a separate inference service and back. Lexical matching, filters and approximate nearest neighbour all run inside one query plan, which is why hybrid retrieval on Vespa behaves differently from bolting a vector index onto a keyword engine: the recall sets are combined by the engine rather than merged by your application code. If you have ever wanted relevance expressed as a function rather than a form, this is the engine that allows it.

The deployment model is the learning curve

Vespa is configured through an application package: schema files defining fields, indexing pipelines and rank profiles, plus a services definition describing container and content clusters. You deploy the package rather than tweaking a running config, and the system redistributes data automatically as the topology changes. That design is why it scales elastically, and also why the first fortnight feels like learning a platform instead of adding a dependency. The documentation is thorough but written for people building search systems, not people adding a search box. Budget a genuine spike before committing, and staff it with someone who will still be around in a year. Vespa Cloud removes the cluster operations if you want the engine without the infrastructure. Yahoo and Spotify answer the maturity question; the honest question is whether your problem is that shape.

Frequently asked questions

Is Vespa free?

Yes, the engine is Apache 2.0 and free to self-host, with no feature gating between an open and a commercial edition. Vespa Cloud is the paid managed option and is worth pricing, because the operational burden of running Vespa yourself is the dominant cost of adopting it, far more than any licence would have been.

Vespa or Elasticsearch?

Elasticsearch for general search, log analytics, aggregations and the far larger ecosystem. Vespa when ranking is the hard part: multi-phase scoring, tensor expressions, model inference next to the data, and hybrid lexical plus vector retrieval combined inside one query plan. Vespa is the more capable ranking engine and the steeper investment. Most teams do not have the ranking problem.

Is Vespa too complex for a small team?

Usually yes, and that is the honest answer rather than a dismissal. The application-package model, the schema and rank-profile files and the cluster topology all have to be understood before the first useful result. A small team with a serious ranking problem and someone who wants to own it can succeed. A small team wanting search should pick Typesense or Meilisearch.

Links

Similar tools you should also consider

If Vespa is your pick, the next conversation is short

The 30-min call is where your search choice becomes a real architecture, a relevance-tuning plan, and a price range you can take to your stakeholders.