Skip to content

Conversation

@bsbodden
Copy link
Collaborator

Implements SVS-VAMANA algorithm with compression support for memory-efficient vector search, porting functionality from Python redis-vl PR #404.

Changes:

  • Expand VectorDataType enum with FLOAT16, BFLOAT16, INT8, UINT8
  • Add CompressionType enum (LVQ4, LVQ4x4, LVQ4x8, LVQ8, LeanVec4x8, LeanVec8x8)
  • Add SVS_VAMANA to Algorithm enum
  • Add 7 SVS-specific parameters to VectorField (graphMaxDegree, constructionWindowSize, searchWindowSize, svsEpsilon, compression, reduce, trainingThreshold)
  • Implement SVS validation (datatype, reduce, compression constraints)
  • Add builder methods for all SVS parameters
  • Update toJedisSchemaField() to support SVS attributes

Tests:

  • Add SVSVamanaFieldTest with 19 unit tests (all passing)
  • Add SVSVamanaIntegrationTest with 7 integration tests (all passing)
  • Add BaseSVSIntegrationTest using Redis 8.2 container
  • Test all compression types, validation rules, and constraints
  • Verify index creation, data loading, and search operations

Requirements:

  • Redis ≥ 8.2.0 (available as redis:8.2 Docker image)
  • RediSearch ≥ 2.8.10 or SearchLight ≥ 2.8.10

Python reference: PR #404 - SVS-VAMANA support
Ported from: redisvl/schema/fields.py

Implements SVS-VAMANA algorithm with compression support for memory-efficient
vector search, porting functionality from Python redis-vl PR #404.

Changes:
- Expand VectorDataType enum with FLOAT16, BFLOAT16, INT8, UINT8
- Add CompressionType enum (LVQ4, LVQ4x4, LVQ4x8, LVQ8, LeanVec4x8, LeanVec8x8)
- Add SVS_VAMANA to Algorithm enum
- Add 7 SVS-specific parameters to VectorField (graphMaxDegree, constructionWindowSize,
  searchWindowSize, svsEpsilon, compression, reduce, trainingThreshold)
- Implement SVS validation (datatype, reduce, compression constraints)
- Add builder methods for all SVS parameters
- Update toJedisSchemaField() to support SVS attributes

Tests:
- Add SVSVamanaFieldTest with 19 unit tests (all passing)
- Add SVSVamanaIntegrationTest with 7 integration tests (all passing)
- Add BaseSVSIntegrationTest using Redis 8.2 container
- Test all compression types, validation rules, and constraints
- Verify index creation, data loading, and search operations

Requirements:
- Redis ≥ 8.2.0 (available as redis:8.2 Docker image)
- RediSearch ≥ 2.8.10 or SearchLight ≥ 2.8.10

Python reference: PR #404 - SVS-VAMANA support
Ported from: redisvl/schema/fields.py
@bsbodden bsbodden merged commit 379fa2b into main Oct 23, 2025
4 checks passed
@bsbodden bsbodden self-assigned this Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants