RI-8158: vector set similarity form and table#5872
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
b53a70e to
367f689
Compare
Code Coverage - Backend unit tests
Test suite run success3413 tests passing in 306 suites. Report generated by 🧪jest coverage report action from 6e1ff18 |
Code Coverage - Integration Tests
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f546a1b. Configure here.
Code Coverage - Frontend unit tests
Test suite run success6867 tests passing in 793 suites. Report generated by 🧪jest coverage report action from 6e1ff18 |
62b579f to
f78d4a7
Compare
f546a1b to
95b3f98
Compare
f34ed38 to
9681692
Compare
13af0a5 to
f733fc4
Compare
1ea2152 to
ae4b0ec
Compare
| </ButtonGroup> | ||
| </FlexItem> | ||
| <FlexItem grow> | ||
| {state.mode === 'vector' ? ( |
There was a problem hiding this comment.
nit: I'm thinking of changing this to an enum, in case we use it in many places.
|
|
||
| import { SimilaritySearchResultsTable } from './SimilaritySearchResultsTable' | ||
|
|
||
| faker.seed(8158) |
There was a problem hiding this comment.
Do we need to fix the seeds for some reason?
ae4b0ec to
7e3e852
Compare
f733fc4 to
4380b98
Compare
7e3e852 to
126e3f6
Compare
0c66b99 to
5fff7fa
Compare
126e3f6 to
1a956fd
Compare
- add types to keys when checking if equal - move to utils + add tests
5fff7fa to
6e1ff18
Compare

What
Builds the similarity-search UI on top of the FE foundation landed in #vector-similarity-1 (slice + thunks +
useSimilaritySearchhook).similarity-search-form/) — three self-contained components:SimilaritySearchFormwith vector / element mode toggle, vector or element input (with FP32 + numeric validation against the key'svectorDim), result count, filter expression, BE-built command preview, and a submit + reset action row.CommandPreview— renders the BE-builtVSIMpreview the search would actually run, with copy-to-clipboard and a neutral placeholder while idle.FilterSyntaxHelpPopover— inline help next to the filter field, listing supported operators and example expressions.VSIMpayload.IconButtonto the left of "Find similar items") — clears the form's local state and dispatches the hook'sresetSimilaritySearchto wipe slice state. The form also remounts on key change (key={keyName}), and the slice is cleared on key change / unmount, so the form is reset whenever the user navigates to another key, closes the key details, or otherwise leaves the view.similarity-search-results/) — sorted by score with a "high match" highlight (HIGH_SIMILARITY_THRESHOLD = 0.85), reusing the existingElementrendering pipeline for compressor + view-format support. Replaces the regular vector-set element list inVectorSetDetailswhenever a search has results.bytesToBase64andvalidateVectorfromvector-set-element-form/utilsso the hook layer (from #vector-similarity-1) can build the BE payload from the form state without duplicating validation logic.QuantityCounterfrom@redis-ui/componentsviauiSrc/components/base/inputs.Testing
Add vector set with elements + similarity search
Uploading Screen Recording 2026-05-08 at 14.22.07.mov…
Note
Medium Risk
Adds new vector-set similarity-search UI plus new Redux slice state and async thunks (including debounced/abortable preview requests), which could affect browser key-details behavior and API traffic patterns.
Overview
Adds vector set similarity search to the key details view: a new
SimilaritySearchForm(vector/element modes, count + filter inputs, debounced BE command preview with copy, and reset) and aSimilaritySearchResultsTablethat replaces the normal elements list once a search has returned results.Extends the
vectorSetRedux slice withsimilaritySearch+similaritySearchPreviewstate, selectors, reducers, and new thunks hittingvector-set/similarity-searchand/preview(with abort handling), and tightens several existing thunks to emitDEFAULT_ERROR_MESSAGEon non-success HTTP statuses. Also exports shared vector validation helpers (validateVector,bytesToBase64) for reuse and re-exportsQuantityCounterfor the form.Reviewed by Cursor Bugbot for commit 6e1ff18. Bugbot is set up for automated code reviews on this repo. Configure here.