Skip to content

Commit 379fa2b

Browse files
committed
feat(schema): add SVS-VAMANA vector indexing algorithm support (#404)
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
1 parent 1253d12 commit 379fa2b

File tree

4 files changed

+1098
-8
lines changed

4 files changed

+1098
-8
lines changed

0 commit comments

Comments
 (0)