RediSearch
Queries, secondary indexing, and full-text search for Redis
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.
Quick links
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
- RediSearch? - RedisConf 2020
- RediSearch Overview - RedisConf 2019
- RediSearch & CRDT - Redis Day Tel Aviv 2019
Course
- RU203: Querying, Indexing, and Full-Text Search - An online RediSearch course from Redis University.
Blog posts
- Introducing RediSearch 2.0
- Getting Started with RediSearch 2.0
- Mastering RediSearch / Part I
- Mastering RediSearch / Part II
- Mastering RediSearch / Part III
- Building Real-Time Full-Text Site Search with RediSearch
- RediSearch Version 1.6 Adds Features, Improves Performance
- 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