Skip to main content
Version: 0.4.0

Installation

Quickwit compiles to a single binary, we provide different methods to install it.

Prerequisites

Quickwit is officially only supported for Linux. Freebsd and MacOS are not officially supported, but should work as well.

Quickwit supplies binaries for x86-64 and aarch64. No special instruction set is required, but on x86-64 SSE3 is recommended. Support of aarch64 is currently experimental.

Download

Version: 0.4.0 - Release note License: AGPL V3 Downloads .tar.gz:

Check out the available builds in greater detail on GitHub

Note on external dependencies

Quickwit depends on the following external libraries to work correctly:

  • libssl: the industry defacto cryptography library. These libraries can be installed on your system using the native package manager. You can install these dependencies using the following command:
apt-get -y update && apt-get -y install libssl

Additionally it requires a few more dependencies to compile it. These dependencies are not required on production system:

  • clang: used to compile some dependencies.
  • protobuf-compiler: used to compile protobuf definitions.
  • libssl-dev: headers for libssl.
  • pkg-config: used to locate libssl.
  • cmake: used to build librdkafka, for kafka support. These dependencies can be installed on your system using the native package manager. You can install these dependencies using the following command:
apt install -y clang protobuf-compiler libssl-dev pkg-config cmake

Install script

To easily install Quickwit on your machine, just run the command below from your preferred shell. The script detects the architecture and then downloads the correct binary archive for the machine.

curl -L https://install.quickwit.io | sh

All this script does is download the correct binary archive for your machine and extract it in the current working directory. This means you can download any desired archive from github that match your OS architecture and manually extract it anywhere.

Once installed or extracted, all Quickwit's installation files can be found in a directory named quickwit-{version} where version is the corresponding version of Quickwit. This directory has the following layout:

quickwit-{version}
├── config
│ └── quickwit.yaml
├── LICENSE_AGPLv3.0.txt
├── quickwit
└── qwdata
  • config/quickwit.yaml: is the default configuration file.
  • LICENSE_AGPLv3.0.txt: the license file.
  • quickwit: the quickwit executable binary.
  • qwdata/: the default data directory.

Use the Docker image

If you use Docker, this might be one of the quickest way to get going. The following command will pull the image from Docker Hub and gets you right in the shell of the running container ready to execute Quickwit commands. Note that we are also mounting the working directory as volume. This is useful when you already have your dataset ready on your machine and want to work with Quickwit Docker image.

docker run -it -v "$(pwd)":"/quickwit/files" --entrypoint ash quickwit/quickwit
quickwit --version

To get the full gist of this, let's run a minified version of the - Quickstart guide.

# let's create a `data` directory
mkdir data && cd data

# download wikipedia dataset files
curl -o wikipedia_index_config.yaml https://raw.githubusercontent.com/quickwit-oss/quickwit/main/config/tutorials/wikipedia/index-config.yaml
curl -o wiki-articles-10000.json https://quickwit-datasets-public.s3.amazonaws.com/wiki-articles-10000.json

# create, index and search using the container
docker run -v "$(pwd)":"/quickwit/qwdata" quickwit/quickwit index create --index-config ./qwdata/wikipedia_index_config.yaml

docker run -v "$(pwd)":"/quickwit/qwdata" quickwit/quickwit index ingest --index wikipedia --input-path ./qwdata/wiki-articles-10000.json

docker run -v "$(pwd)":"/quickwit/qwdata" quickwit/quickwit index search --index wikipedia --query "barack obama"

docker run -v "$(pwd)":"/quickwit/qwdata" --expose 7280 -p 7280:7280 quickwit/quickwit run --service searcher

Now you can make HTTP requests to the searcher service API.

curl http://127.0.0.1:7280/api/v1/wikipedia/search?query=obama

Alternatively, you can run a container shell session with your data folder mounted and execute the commands from within that session.