This guide will get you up and running with Vespa in under 10 minutes. You’ll learn how to:Documentation Index
Fetch the complete documentation index at: https://support.agentrank.io/llms.txt
Use this file to discover all available pages before exploring further.
- Run Vespa using Docker
- Create a schema for your documents
- Deploy an application
- Feed data into Vespa
- Query your data
Prerequisites
Before you begin, ensure you have:Docker
Docker Desktop or Docker Engine installed
curl or similar
Command-line tool for HTTP requests
This guide uses Docker for simplicity. For production deployments, see the Installation page.
Step 1: Start Vespa
Pull and run the Vespa container:Start the Vespa container
- Runs Vespa in detached mode
- Exposes port 8080 (query/feed API)
- Exposes port 19071 (config server)
Vespa is now running! Verify by visiting http://localhost:8080 in your browser.
Step 2: Create an Application
Let’s build a simple music search application.Create a schema file
Create This schema defines:
schemas/music.sd with the following content:schemas/music.sd
- Four fields:
artist,title,year, andalbum - BM25 ranking for text fields
- A default fieldset for searching across multiple fields
Step 3: Deploy the Application
Deploy your application to the running Vespa instance:Your application is now deployed and ready to receive data!
Step 4: Feed Data
Let’s add some music documents to Vespa.Documents are immediately available for search after feeding — no reindexing required!
Step 5: Query Your Data
Now let’s search the data we just indexed.Understanding the Query API
Vespa uses YQL (Yahoo Query Language) for queries. The basic structure is:Example: Full-text search with ranking
Example: Full-text search with ranking
- Searches for “beatles” across all fields in the
defaultfieldset - Uses the
bm25ranking profile - Returns all fields (
*) for matching documents
Example: Structured query with filters
Example: Structured query with filters
- Filters for Beatles songs from after 1968
- Returns only
artist,title, andyearfields - Uses BM25 ranking
Query Response
A typical response looks like:Step 6: Update and Delete Documents
- Update
- Delete
- Get
Update specific fields in a document:Partial updates are efficient and don’t require re-sending the entire document.
Next Steps
Congratulations! You’ve successfully:- ✅ Started a Vespa instance
- ✅ Created and deployed an application
- ✅ Fed documents
- ✅ Queried your data
Explore More
Add Vector Search
Implement semantic search with embeddings
Advanced Ranking
Learn about multi-phase ranking and ML models
Production Setup
Deploy Vespa for production workloads
Sample Apps
Explore complete example applications
Cleanup
When you’re done, stop and remove the Docker container:Troubleshooting
Port already in use
Port already in use
If ports 8080 or 19071 are already in use, you can map to different ports:Then use
localhost:8081 for queries and localhost:19072 for deployment.Deployment fails
Deployment fails
Check the Vespa logs:Common issues:
- Schema syntax errors
- Invalid XML in services.xml
- Insufficient memory (Vespa needs at least 4GB RAM)
Queries return no results
Queries return no results
Verify documents were fed successfully:This returns all documents regardless of query terms.