RediSearch / RediSearchBenchmark

Benchmarks for the RediSearch module
https://redisearch.io
BSD 3-Clause "New" or "Revised" License
44 stars 7 forks source link
benchmark benchmarking-redisearch redis-search redisearch

license Forum GoDoc

document-benchmark

This is a Go application (originally written by Dvir Volk) which supports reading, indexing and searching using two search engines:

with the following datasets:

Getting Started

Download Standalone binaries ( no Golang needed )

If you don't have go on your machine and just want to use the produced binaries you can download the following prebuilt bins:

https://github.com/RediSearch/RediSearchBenchmark/releases/latest

OS Arch Link
Windows amd64 (64-bit X86) document-benchmark-windows-amd64.exe
Linux amd64 (64-bit X86) document-benchmark-linux-amd64
Linux arm64 (64-bit ARM) document-benchmark-linux-arm64
Darwin amd64 (64-bit X86) document-benchmark-darwin-amd64
Darwin arm64 (64-bit ARM) document-benchmark-darwin-arm64

Here's how bash script to download and try it:

wget -c https://github.com/RediSearch/RediSearchBenchmark/releases/latest/download/document-benchmark-$(uname -mrs | awk '{ print tolower($1) }')-$(dpkg --print-architecture).tar.gz -O - | tar -xz

# give it a try
./document-benchmark --help

Installation in a Golang env

The easiest way to get and install the benchmark utility with a Go Env is to use go get and then go install:

# Fetch this repo
go get github.com/RediSearch/RediSearchBenchmark
cd $GOPATH/src/github.com/RediSearch/RediSearchBenchmark
make

Try it out

To try it out locally we can use docker in the following manner to spin up both a Redis and Elastic environments:

sudo sysctl -w vm.max_map_count=262144
docker run -d -p 9200:9200 -p 9300:9300 -e "ELASTIC_PASSWORD=password"  docker.elastic.co/elasticsearch/elasticsearch:8.3.3
docker run -d -p 6379:6379 redis/redis-stack:edge
wget https://s3.amazonaws.com/benchmarks.redislabs/redisearch/datasets/enwiki-abstract/enwiki-latest-abstract.xml