Redis 8 unifies Search and introduces stricter command parsing rules.
This KB lists deprecated commands and options, explains how parsing behavior has changed, and describes what Redis Cloud customers should update to maintain compatibility with Redis 8.0 and later.
At a glance
Availability: Redis Cloud 8.0 and later
Applies to: Databases using Search or Query features (RediSearch module → RQE engine)
Impact: Deprecated Search commands and options no longer work; stricter parsing may cause older queries to return errors instead of empty results.
Behavior: Automatic enforcement in Redis Cloud with no opt-out available
Prerequisites
Cloud database running Redis 8.0 or later
Application code calling Search commands (FT.*) or APIs built on them
Access to Cloud database logs or monitoring output
Maintenance window or staging environment to validate changes
Quick fix table
Problem |
Fast check |
Action |
|---|---|---|
|
Command error in logs or API response |
Replace with native writes ( |
|
“Invalid argument” error |
Convert filters to query syntax ( |
Queries with |
Option ignored or rejected |
Define STOPWORDS behavior at index creation. |
Older dialect specified (1,3,4) |
Query fails or returns 0 results |
Use |
Empty result on invalid query |
Unexpected errors now shown |
Fix syntax; invalid inputs now return explicit errors. |
|
Attempting to change Search configuration |
Redis Cloud manages Search configuration internally; use supported API parameters only. |
Deprecations
Redis 8.0 consolidates Search commands.
The following items are deprecated and must be replaced:
Deprecated command or option |
Replacement |
Example |
Notes |
|---|---|---|---|
|
Use |
|
Indexes automatically track HASH/JSON writes through RQE. |
|
Use |
|
Removes document from index automatically. |
|
Use native reads |
|
Read directly from Redis key. |
|
Use |
|
Engine config managed internally in Cloud. |
|
Use query syntax |
|
Included in query string (no longer options). |
|
Use |
|
Query-time toggle removed. |
|
Use |
|
Older dialects deprecated. |
Parsing and validation changes
Redis Cloud now enforces full argument validation for Search and Aggregate commands.
Key updates
LIMIT now requires valid combinations (
offset=0whenlimit=0).FT.CURSOR READandFT.ALIASADDreject malformed arguments.Expressions in
APPLYclauses must use parentheses around exponents (for example,(@price ^ 2)).Invalid input now returns explicit errors instead of empty results.
Default scorer changed from TF-IDF → BM25, which may affect query ranking.
Migration steps
Inventory commands.
Search all codebases or scripts forFT.ADD,FT.DEL,FT.GET,FT.CONFIG,FILTER,GEOFILTER, andNOSTOPWORDS.Replace writes and deletes.
UseHSETorJSON.SETfor writes andDELorUNLINKfor deletes. Indexes update automatically through RQE.Update queries.
Convert filters to inline query syntax and remove unsupported flags.Validate dialect.
Explicitly setDIALECT 2for compatible syntax.Review ACLs.
Cloud ACL categories (@read,@write) now include JSON, time-series, and query engine commands.Test and redeploy.
Run validation queries and confirm no command errors in logs.
Testing and verification
Test |
Command |
Expected result |
|---|---|---|
Numeric range query |
|
Returns matching documents |
Geo query |
|
Returns nearby documents |
Deprecated syntax |
|
Fails with “Invalid argument” |
LIMIT rule |
|
Fails (invalid offset/limit) |
ACL test |
Run as user with |
|
Run these tests
CLI:
FT.SEARCH idx "@price:[10 20]" LIMIT 0 5API (Python):
r.execute_command("FT.SEARCH", "idx", "@price:[10 20]", "LIMIT", 0, 5)
Troubleshooting
Symptom |
Likely cause |
Resolution |
|---|---|---|
“Invalid argument” error |
Deprecated option or syntax |
Update to supported query syntax. |
Empty results on upgrade |
Dialect mismatch |
Add |
Ranking changes |
BM25 scoring difference |
Verify expected ordering, retune relevance thresholds. |
ACL permission error |
Updated category mapping |
Adjust ACLs to include |
App crashes on |
Deprecated command removed |
Replace with native JSON/HASH operations. |
References
For additional help migrating queries or diagnosing parsing errors, contact Redis Support and include your database ID and full command example.
0 comments
Please sign in to leave a comment.