apache / apache/kvrocks

Tracking Issue: Support vector search in KQIR

Open
#2,426 1 comment 1 reaction 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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.