Vespa

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

VISIT VESPA

Key takeaway: Vespa is the choice when retrieval, ranking, and machine-learned scoring have to happen in one engine over a corpus that never stops growing. It solves a shape of problem Qdrant and Pinecone do not attempt. It is also the steepest learning curve in this directory, and the wrong tool for a straightforward RAG pipeline.

Quick facts

  • CategorySelf-hosted
  • EngineJava / C++
  • PricingFreemium
  • LicenseApache-2.0
  • Created2017
  • GitHub stars6.4k
  • Hybrid searchNative
  • Edge-readyNo
  • Multi-tenantNative
  • Max dimensions65,535

What it is

Vespa is a distributed search + ranking + vector engine open-sourced by Yahoo in 2017. Used for the largest hybrid retrieval workloads on the public internet (Yahoo, Spotify, large e-commerce). Mature, capable, operationally heavy, smaller community than Milvus or Weaviate.

Best for

  • Hybrid retrieval at extreme scale (search + ranking + vector all in one engine)
  • 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 and the Java/C++ stack is heavy. Most teams should use Weaviate or Qdrant.

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.

A search engine that happens to do vectors

Most tools here started as vector stores and grew keyword search afterwards. Vespa came the other way: it is a retrieval and ranking platform where nearest-neighbour search is one operator among many. That distinction shows up most clearly in ranking. You write ranking expressions as first-class configuration, run them in phases so a cheap function narrows candidates before an expensive one reorders them, and evaluate machine-learned models inside the engine at query time rather than shipping candidates to a separate reranker over the network. For an e-commerce or news system where relevance is a product surface with a team behind it, that is a genuinely different capability from anything else in this category. For a chatbot fetching the top five chunks of a policy document, it is machinery you will never touch.

The cost of entry

Vespa deploys as an application package: schema definitions for your document types and rank profiles, plus XML configuration for the service and content clusters. Very little happens until you understand all of it. The documentation is thorough and written for people who already do search engineering, which is not the same as a quickstart culture. The stack is Java and C++, a different operational world from a single Rust binary, and the community is smaller than Milvus's or Weaviate's, so answers are harder to find when you are stuck at midnight. What you get in return is maturity: this engine has served internet-scale traffic for years and its failure modes are well understood. If nobody on the team has run a search platform before, budget for a real ramp, or pick Weaviate and accept less ranking control.

Frequently asked questions

Is Vespa harder than Elasticsearch?

In configuration and mental model, yes. Vespa asks you to define schemas and ranking profiles up front and rewards that with far better control over multi-phase ranking and in-engine model inference. Teams already running Elasticsearch usually find the concepts familiar and the syntax unfamiliar. Teams new to search engineering find both unfamiliar at the same time, which is where projects stall.

Vespa or Milvus for large-scale search?

Milvus if the workload is vector similarity at enormous volume and ranking is essentially distance. Vespa if relevance is the product: custom ranking expressions, keyword and vector signals combined, and learned models scoring candidates inside the engine. They both scale a long way; they are optimised for different questions, so pick by which question you are actually asking.

Is Vespa free?

The engine is open source under Apache-2.0 and free to self-host, and there is a commercial managed cloud from the team behind it. The real cost is not licensing, it is the engineering time to learn the model and operate a Java and C++ distributed system properly. Budget for that honestly before committing, because it is the part that surprises teams.

Links

Similar tools you should also consider

If Vespa is your pick, the next conversation is short

The 30-min call is where your vector-DB choice becomes a real RAG architecture, a chunking + reranking strategy that actually works for your corpus, and a price range you can take to your stakeholders. Describe your data shape, your query patterns, your latency budget. I tell you whether Vespa is genuinely your fit.