This guide shows how to install and run Vespa on a single machine using Docker - it builds and deploys an application, feeds some data and issues queries. This application contains Java components, there's also a version that doesn't use Java. See Getting Started for troubleshooting, next steps and other guides.
Prerequisites:
NO_SPACE
- the vespaengine/vespa container image + headroom for data requires disk space.
Read more.
This guide is tested with vespaengine/vespa:8.458.13 container image.
Validate the environment:
Make sure you see at minimum 4 GB. Refer to Docker memory for details and troubleshooting:
$ docker info | grep "Total Memory" or $ podman info | grep "memTotal"
Install the Vespa CLI:
Using Homebrew:
$ brew install vespa-cli
You can also download Vespa CLI for Windows, Linux and macOS.
Start a Vespa Docker container:
$ docker run --detach --name vespa --hostname vespa-container \ --publish 8080:8080 --publish 19071:19071 \ vespaengine/vespa
The port 8080
is published to make the query and feed endpoints
accessible from outside the docker container,
19071 is the config server endpoint.
Only one docker container named vespa
can run at a time, change the name as needed.
See Docker containers for more insights.
Initialize myapp/
to a copy of a sample
application package:
$ vespa clone album-recommendation-java myapp $ cd myapp
Build it:
$ mvn install
Deploy it:
$ vespa deploy --wait 300
Feed documents:
$ vespa feed src/test/resources/*.json
Issue queries:
$ vespa query "select * from music where album contains 'head'"
$ vespa query "select * from music where true" \ "ranking=rank_albums" \ "input.query(user_profile)={{cat:pop}:0.8,{cat:rock}:0.2,{cat:jazz}:0.1}"
Check out getting started for more tutorials and use cases which Vespa is great for.
Explore the Vespa sample applications.
$ docker rm -f vespa