RediSearch

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

Discord Github

RediSearch is a source-available Redis module that enables querying, secondary indexing, and full-text search for Redis. These features enable multi-field queries, aggregation, exact phrase matching, numeric filtering, geo filtering and vector similarity semantic search on top of text queries.

Primary features

RediSearch supports the following features:

  • Secondary indexing
  • Multi-field queries
  • Aggregation
  • Full-text indexing of multiple fields in a document
  • Incremental indexing without performance loss
  • Document ranking (provided manually by the user at index time)
  • Boolean queries with AND, OR, NOT operators between subqueries
  • Optional query clauses
  • Prefix-based searches
  • Field weights
  • Auto-complete suggestions (with fuzzy prefix suggestions)
  • Exact phrase search and slop-based search
  • Stemming-based query expansion for many languages (using Snowball)
  • Support for custom functions for query expansion and scoring (see Extensions)
  • Numeric filters and ranges
  • Geofiltering using Redis geo commands
  • Vector similarity search for semantic search using exact and approximate algorithms
  • Unicode support (UTF-8 input required)
  • Retrieval of full document contents or only their IDs
  • Document deletion and updating with index garbage collection

For more information about RediSearch features, see the feature reference pages.

JSON documents

When combined with the RedisJSON module, which is included with Redis Stack, RediSearch can index and query JSON documents.

To learn how to use RediSearch with JSON documents, see Indexing JSON documents.

Client libraries

Official and community client libraries are available for Python, Java, JavaScript, Ruby, Go, C#, and PHP.

See the clients page for the full list.

Cluster support

RediSearch provides a distributed cluster version that scales to billions of documents and hundreds of servers.

Commercial support

Commercial support for RediSearch is provided by Redis Ltd. See the Redis Ltd. website for more details and contact information.

Supported platforms

RediSearch is developed and tested on Linux and macOS on x86_64 CPUs.

Atom CPUs are not supported.

References

Videos

  1. RediSearch? - RedisConf 2020
  2. RediSearch Overview - RedisConf 2019
  3. RediSearch & CRDT - Redis Day Tel Aviv 2019

Course

Blog posts

  1. Introducing RediSearch 2.0
  2. Getting Started with RediSearch 2.0
  3. Mastering RediSearch / Part I
  4. Mastering RediSearch / Part II
  5. Mastering RediSearch / Part III
  6. Building Real-Time Full-Text Site Search with RediSearch
  7. RediSearch Version 1.6 Adds Features, Improves Performance
  8. 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 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1) - see LICENSE

Rate this page