vespa-engine/vespa
The AI search platform
Vespa – Large‑scale Search & AI serving platform
What it is – Vespa is an open‑source, high‑performance platform for serving search, recommendation, personalization and other AI‑driven queries at scale. It lets you store and query text, structured fields, vectors and tensors, and run machine‑learned models on the data while keeping latency under 100 ms, even on massive, continuously changing data sets.
Key capabilities
- Hybrid data handling – Index and retrieve plain text, JSON‑like structured data, and high‑dimensional vectors/tensors in the same service.
- Real‑time inference – Deploy Java (or other) model components that are executed during query time, enabling ranking, classification, or embedding‑based similarity without a separate model‑serving layer.
- Distributed, fault‑tolerant architecture – Data is sharded across nodes; queries are parallelised and results are aggregated, providing high availability and low latency at any scale.
- Built‑in ranking & aggregation – Declarative query language lets you combine relevance scoring, custom ranking functions, and aggregations (e.g., facets, histograms) in a single request.
- Cloud‑native & on‑prem – You can run Vespa as a managed cloud service (free trial available) or self‑host it using the provided Docker images and installation guides.
- Extensible Java components – Write custom ranking or processing logic in Java and plug it into the query pipeline.
Typical use cases
- Large‑scale web search or site search
- Recommendation engines that need to score millions of items per query
- Personalization pipelines that combine user signals with ML models
- Vector similarity search for embeddings (e.g., semantic search, image retrieval)
- Real‑time analytics where results must be returned within tens of milliseconds
Getting started
- Try the hosted service – Sign up at
vespa.ai/free-trialand deploy a sample application from the docs. - Run locally – Follow the Getting started guide in the documentation to spin up a single‑node Vespa instance (Docker or native install).
- Add your own logic – Use the developer guide to create Java components, package them as a Vespa application, and upload them via the Vespa APIs.
- Scale out – When you need redundancy or higher throughput, add nodes following the multinode systems guide.
Build & contribute
- The repo contains the full source for Vespa (C++ core + Java modules). Building is optional for users; the pre‑built binaries are distributed via Maven and Docker.
- For contributors, the README points to a Docker‑based development environment on AlmaLinux 8, Maven 3.8+, and Java 17. Detailed build steps (
bootstrap.sh java,mvn install) and test instructions (BATS for shell scripts) are provided. - Contribution guidelines, a code map, and a TODO list help newcomers navigate the large code base.
Documentation & community
- Home page: https://vespa.ai
- Full docs: https://docs.vespa.ai
- Sample apps: https://github.com/vespa-engine/sample-apps
- Blog, Slack, and issue tracker are linked from the README for support and updates.
License – Apache 2.0 (see LICENSE).
All information above is taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project
- Project