Home

Awesome

Dockerhub Codecov Forum Discord

Latest Release

Latest 2.8 Latest 2.6

RediSearch

Querying, secondary indexing, and full-text search for Redis

<picture> <img src="https://redis.io/docs/interact/search-and-query/img/logo.svg" title="RediSearch's Logo" width="300"> </picture>

Overview

RediSearch is a Redis module that provides querying, secondary indexing, and full-text search for Redis. To use RediSearch, you first declare indexes on your Redis data. You can then use the RediSearch query language to query that data.

RediSearch uses compressed, inverted indexes for fast indexing with a low memory footprint.

RediSearch indexes enhance Redis by providing exact-phrase matching, fuzzy search, and numeric filtering, among many other features.

Getting started

If you're just getting started with RediSearch, check out the official RediSearch tutorial. Also, consider viewing our RediSearch video explainer.

The fastest way to get up and running with RediSearch is by using the Redis Stack Docker image.

How do I Redis?

Learn for free at Redis University

Build faster with the Redis Launchpad

Try the Redis Cloud

Dive in developer tutorials

Join the Redis community

Work at Redis

Trying RediSearch

To try RediSearch, either use the RediSearch Docker image, or create a free Redis Cloud Essentials account to get a RediSearch instance in the cloud.

Docker image

The Redis Stack Docker image makes it easy to try RediSearch.

To create a local RediSearch container, run:

$ docker run -p 6379:6379 redis/redis-stack-server:latest

To connect to this instance, run:

$ redis-cli

Documentation

The RediSearch documentation provides a complete overview of RediSearch. Helpful sections include:

Mailing list and forum

Got questions? Join us in #redisearch on the Redis Discord server.

If you have a more detailed question, drop us a line on the RediSearch Discussion Forum.

Client libraries

Official clients

<img width="75" src="https://user-images.githubusercontent.com/1655867/228534778-d0b41ce8-3ce4-4340-bd32-754f01ebed43.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-plain-wordmark.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original-wordmark.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original-wordmark.svg" />
NRedisStackJedisnode-redisredis-py
Redis.OMRedis OM Springredis-om-noderedis-om

Community-maintained clients

ProjectLanguageLicenseAuthorStars
redissonJavaMITRedissonStars
redisearch-goGoBSDRedisredisearch-go-stars
rueidisGoApache 2.0Rueianrueidis-stars
redisearch-phpPHPMITEthan Hannredisearch-php-stars
php-redisearchPHPMITMacFJAphp-redisearch-stars
redisearch-api-rsRustBSDRedisredisearch-api-rs-stars
redi_search_railsRubyMITDmitry Polyakovskyredi_search_rails-stars
redisearch-rbRubyMITVictor Ruizredisearch-rb-stars
redi_searchRubyMITNick Pezzaredi_search-stars
coredisPythonMITAli-Akber Saifeecoredis-stars

RediSearch features

Cluster support

RediSearch has a distributed cluster version that scales to billions of documents across hundreds of servers. At the moment, distributed RediSearch is available as part of Redis Cloud and Redis Enterprise Software.

See RediSearch on Redis Enterprise for more information.

License

RediSearch is licensed under the Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1).