Tracking Issue: Support vector search in KQIR
- 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
This includes:
- [x] Implementing vector indexing algorithm, i.e. HNSW & Adding vector indexing support for KQIR Indexer - #2368
- [x] Plan operator & executor for vector indexing - #2434
- [x] Supporting relevant syntax parsing in front-end languages (SQL, RediSearch query) - #2450
- [x] Add Optimization Pass, including Index Selection & KnnExpr transformation - #2466
- [x] Add command to support Hnsw index creation - #2477
- [x] Documentation on Kvrocks Search - https://github.com/apache/kvrocks-website/pull/241
### Further Steps
- [ ] Improvement for HNSW construction - #2398
- [ ] Create a const version of HnswIndex that takes a const pointer to HnswVectorFieldMetadata - https://github.com/apache/kvrocks/pull/2434#discussion_r1687707134
- [ ] Support Hybrid Query
- [ ] Improve consistency
### Solution
- #2287
- #2316
### Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
This is a tracking issue rather than a single implementation task; begin by reviewing the unchecked follow-ups, including #2398 and the const HnswIndex discussion, alongside the completed KQIR and vector-search subtasks listed above. Choose one unresolved area, such as hybrid query or consistency, and define its affected entry point before starting. Done criteria, files, and tests are not specified here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, redis
- Domain
- backend, databases, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100