Databases 13 min read

Comprehensive Guide to RediSearch: Features, Benchmarks, Installation, and Command Usage

RediSearch, a Redis module providing full-text search and secondary indexing, is introduced with its features, performance comparisons against Elasticsearch, benchmark results for index building and query throughput, detailed installation methods, and extensive command examples for creating, querying, updating, and managing indexes.

Java Architect Essentials
Java Architect Essentials
Java Architect Essentials
Comprehensive Guide to RediSearch: Features, Benchmarks, Installation, and Command Usage

RediSearch is a Redis module that adds query, secondary indexing, and full-text search capabilities to Redis. To use RediSearch, you first declare an index on your Redis data and then query the data using the RediSearch query language.

RediSearch uses compressed inverted indexes for fast indexing with low memory usage, offering precise phrase matching, fuzzy search, numeric filtering, and more.

Key Features

Full-text indexing on multiple document fields

High‑performance incremental indexing

Document sorting (provided manually at index time)

Complex boolean queries with AND/NOT operators

Optional query clauses

Prefix searches

Field weight settings

Auto‑completion suggestions with fuzzy prefixes

Exact phrase search

Stemming‑based query expansion for many languages

Custom functions for query expansion and scoring

Field‑specific search limits

Numeric filters and ranges

Geospatial filtering using Redis geo commands

Unicode support (UTF‑8 required)

Retrieval of full documents or just IDs

Document deletion, updates, and index garbage collection

Partial updates and conditional document updates

Performance Comparison with Elasticsearch

In a benchmark, RediSearch built an index in 221 seconds versus Elasticsearch’s 349 seconds, a 58 % speed improvement.

For query performance, RediSearch achieved 12.5 K operations/second compared to Elasticsearch’s 3.1 K, roughly four times faster, with slightly lower latency (8 ms vs 10 ms).

Installation

Two installation methods are provided: source build and Docker.

git clone https://github.com/RediSearch/RediSearch.git
cd RediSearch
make setup
make install

Docker installation:

docker run -p 6379:6379 redislabs/redisearch:latest

Verify the module is loaded by running:

127.0.0.1:0> MODULE LIST

Successful output includes entries such as "search" or "ft" indicating RediSearch is active.

Command‑Line Operations

1. Create an index

ft.create "student" SCHEMA "name" TEXT WEIGHT 5.0 "sex" TEXT "desc" TEXT "class" TAG

2. Add a document

ft.add student 001 1.0 LANGUAGE "chinese" FIELDS name "张三" sex "男" desc "这是一个学生" class "一班"

3. Basic search

FT.SEARCH student * SORTBY sex DESC RETURN 3 name sex desc

4. Match query

ft.search student "张三" LIMIT 0 10 RETURN 3 name sex desc

5. Fuzzy (postfix) search

ft.search student "李*" SORTBY sex DESC RETURN 3 name sex desc

6. Field‑specific fuzzy search

ft.search student '@phone:185* @name:豆豆'

7. Delete a document

ft.del student 002

8. Drop an index

ft.drop student

9. List all indexes

FT._LIST

10. Retrieve a single document

ft.get student 001

11. Retrieve multiple documents

ft.mget student 001 002

12. Alias operations

FT.ALIASADD xs student
FT.ALIASDEL xs

The article concludes with a call to join the architecture community and a list of additional resources.

CLIRedisBenchmarkInstallationFull-Text SearchRediSearch
Java Architect Essentials
Written by

Java Architect Essentials

Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.