apache / apache/kvrocks

Tracking Issues: Add support for RediSearch Commands

Open
#2,555 3 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
4.4k
Forks
658
Avg merge
1d 20h
Merged PRs (30d)
10

Description

### Search before asking

- [X] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues.

### Motivation

references the tracker issue: #2064

### FT Commands Implementation Progress

- [x] **FT._LIST**: Returns a list of all existing indexes
- [ ] **FT.AGGREGATE**: Run a search query on an index and perform aggregate transformations on the results
- [ ] **FT.ALIASADD**: Adds an alias to the index
- [ ] **FT.ALIASDEL**: Deletes an alias from the index
- [ ] **FT.ALIASUPDATE**: Adds or updates an alias to the index
#2577
- [ ] **FT.ALTER**: Adds a new field to the index
- [ ] **FT.CONFIG GET**: Retrieves runtime configuration options
- [ ] **FT.CONFIG SET**: Sets runtime configuration options
- [x] **FT.CREATE**: Creates an index with the given spec
- [ ] **FT.CURSOR DEL**: Deletes a cursor
- [ ] **FT.CURSOR READ**: Reads from a cursor
- [ ] **FT.DICTADD**: Adds terms to a dictionary
- [ ] **FT.DICTDEL**: Deletes terms from a dictionary
- [ ] **FT.DICTDUMP**: Dumps all terms in the given dictionary
- [x] **FT.DROPINDEX**: Deletes the index
- [x] **FT.EXPLAIN**: Returns the execution plan for a complex query
- [ ] **FT.EXPLAINCLI**: Returns the execution plan for a complex query
- [x] **FT.INFO**: Returns information and statistics on the index
- [ ] **FT.PROFILE**: Performs a `FT.SEARCH` or `FT.AGGREGATE` command and collects performance information
- [x] **FT.SEARCH**: Searches the index with a textual query, returning either documents or just ids
- [ ] **FT.SPELLCHECK**: Performs spelling correction on a query, returning suggestions for misspelled terms
- [ ] **FT.SYNDUMP**: Dumps the contents of a synonym group
- [ ] **FT.SYNUPDATE**: Creates or updates a synonym group with additional terms
- [x] **FT.TAGVALS**: Returns the distinct tags indexed in a Tag field
#2564

FT.SEARCHSQL and FT.EXPLAINSQL has also been additionally implemented in Kvrocks

### Solution

_No response_

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with tracker issue #2064 and review the existing FT command implementations listed as complete. The issue names many unchecked RediSearch commands but does not identify source files, tests, or a specific command to implement. Done would require resolving the remaining checklist items and updating the relevant validation for each command.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, redis
Domain
api, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.