-
Notifications
You must be signed in to change notification settings - Fork 501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(search): Add HNSW encoding index & insertion/deletion algorithm #2368
Conversation
Hi @PragmaTwice , this PR is ready for review! :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rest looks good to me. Thank you!
Also there are still some clang-tidy issues that need to be fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks fine to me.
But there are some issues in CI:
- one unit test case failed in macOS arm64,
- some memory issues (likely use-after-free) reported by ASan/TSan.
Could you try to investigate them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if there is any heuristic logic to avoid isolated cluster?
@Yangsx-1 Good question but not yet, the plan for the PR is just to implement the hnsw construction first so didn't think ahead that much. Also I saw KQIR cannot be enabled on cluster mode yet[1], so also didn't take this into the scope of this PR. [1] KQIR: a query engine for Apache Kvrocks that supports both SQL and RediSearch queries |
@git-hulk @PragmaTwice I changed the code with one CR: 224141f |
|
Awesome. Thank you for your contribution! |
Hi @Beihao-Zhou , could you also open a tracking issue to track all issues and PRs for vector search in Kvrocks? |
Sure, will do that later today <3 |
Implement Proposal at #2316
Encoding
Reference for other index encoding: #2329
Future steps
HnswIndex
construction (AvoidHnswIndex
heavy construction because ofmt19937
#2398)