logo

RediSearch - Redis Secondary Index & Query Engine

Forum Discord

RediSearch is a source available Secondary Index, Query Engine and Full-Text Search over Redis, developed by Redis Labs .

Supported Platforms

RediSearch is developed and tested on Linux and Mac OS, on x86_64 CPUs.

i386 CPUs should work fine for small data-sets, but are not tested and not recommended. Atom CPUs are not supported currently.

Overview

Redisearch implements a secondery index on top of Redis, but unlike other Redis indexing libraries, it does not use internal data structures like sorted sets.

This also enables more advanced features, like multi fields query, aggregation and full text search capabilites like exact phrase matching and numeric filtering for text queries, that are not possible or efficient with traditional Redis indexing approaches.

Client Libraries

Official and community client libraries in Python, Java, JavaScript, Ruby, Go, C#, and PHP.

See the Clients page for the full list.

Cluster Support

RediSearch has a distributed cluster version that can scale to billions of documents and hundreds of servers. We also offer official commercial support for RediSearch. See the Redis Labs Website for more info and contact information.

Primary Features

  • Secondery Index
  • Multi fields query
  • Aggregation
  • Full-Text indexing of multiple fields in documents.
  • Incremental indexing without performance loss.
  • Document ranking (provided manually by the user at index time).
  • Complex boolean queries with AND, OR, NOT operators between sub-queries.
  • Optional query clauses.
  • Prefix based searches.
  • Field weights.
  • Auto-complete suggestions (with fuzzy prefix suggestions).
  • Exact Phrase Search, Slop based search.
  • Stemming based query expansion in many languages (using Snowball ).
  • Support for custom functions for query expansion and scoring (see Extensions ).
  • Limiting searches to specific document fields.
  • Numeric filters and ranges.
  • Geo filtering using Redis' own Geo-commands.
  • Unicode support (UTF-8 input required).
  • Retrieve full document content or just ids
  • Document deletion and updating with index garbage collection.
  • Partial and conditional document updates.

References

Videos

  1. [RediSearch? - RedisConf 2020] (https://youtu.be/9R29LLWquME)
  2. RediSearch Overview - RedisConf 2019
  3. RediSearch & CRDT - Redis Day Tel Aviv 2019

Course

Blog posts

  1. Mastering RediSearch / Part I
  2. Mastering RediSearch / Part II
  3. Mastering RediSearch / Part III
  4. Search Benchmarking: RediSearch vs. Elasticsearch
  5. RediSearch Version 1.6 Adds Features, Improves Performance
  6. RediSearch 1.6 Boosts Performance Up to 64%

Mailing List / Forum

Got questions? Feel free to ask at the RediSearch forum .

License

Redis Source Available License Agreement - see LICENSE